{"record":{"id":"222ea7dadd1f9752","repo":"hashicorp/packer","slug":"wrong-system-expected-s-s-222ea7","errorCode":null,"errorMessage":"wrong system, expected %s_%s","messagePattern":"wrong system, expected (.+?)_(.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packer/plugin-getter/remote/getter.go","lineNumber":304,"sourceCode":"\tcase len(parts) == 3 && !strings.HasPrefix(parts[0], \"v\"):\n\t\tentry.BinVersion, entry.Os, entry.Arch = \"v\"+parts[0], parts[1], parts[2]\n\t\tentry.ProtVersion = \"\"\n\tdefault:\n\t\treturn fmt.Errorf(\n\t\t\t\"malformed filename %s: expected %s{version}_x{protocol-version}_{os}_{arch} or %s{version}_{os}_{arch}\",\n\t\t\tfilename, req.FilenamePrefix(), req.FilenamePrefix())\n\t}\n\n\treturn nil\n}\n\nfunc (g *Getter) Validate(opt plugingetter.GetOptions, expectedVersion string, installOpts plugingetter.BinaryInstallationOptions, entry *plugingetter.ChecksumFileEntry) error {\n\texpectedBinVersion := \"v\" + expectedVersion\n\tif entry.BinVersion != expectedBinVersion {\n\t\treturn fmt.Errorf(\"wrong version: %s does not match expected %s\", entry.BinVersion, expectedBinVersion)\n\t}\n\tif entry.Os != installOpts.OS || entry.Arch != installOpts.ARCH {\n\t\treturn fmt.Errorf(\"wrong system, expected %s_%s\", installOpts.OS, installOpts.ARCH)\n\t}\n\n\tif entry.ProtVersion == \"\" {\n\t\t// The protocol version was resolved from the version's manifest.json\n\t\t// when its checksum file was fetched.\n\t\tpv, ok := g.protVersions[opt.VersionString()]\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"no protocol version known for version %s\", expectedVersion)\n\t\t}\n\t\tentry.ProtVersion = pv\n\t}\n\n\treturn installOpts.CheckProtocolVersion(entry.ProtVersion)\n}\n\nfunc (g *Getter) ExpectedFileName(pr *plugingetter.Requirement, version string, entry *plugingetter.ChecksumFileEntry, _ string) string {\n\t// The filename is rebuilt from the validated entry fields; the name the\n\t// remote source reported is never used, so it cannot traverse paths.","sourceCodeStart":286,"sourceCodeEnd":322,"githubUrl":"https://github.com/hashicorp/packer/blob/eb36e3c3e48a036f3e8cc94087636ee72e1303c9/packer/plugin-getter/remote/getter.go#L286-L322","documentation":"Remote getter error from Validate: the OS/architecture parsed from the checksum entry's filename doesn't match the local system (installOpts.OS/ARCH), so the artifact is for a different platform and is skipped.","triggerScenarios":"Thrown at packer/plugin-getter/remote/getter.go:304 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure a checksum entry for your platform exists in the release (check GOOS/GOARCH naming)","If running on an unusual platform, check plugin release assets for a matching build"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"eb36e3c3e48a036f3e8cc94087636ee72e1303c9","analyzedAt":"2026-09-05T13:20:43.127Z","contentChangedAt":"2026-09-05T13:20:43.127Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}