Report #38002
[bug\_fix] go: verifying @: checksum mismatch
Clear the local module cache using \`go clean -modcache\` and ensure the \`go.sum\` file is correctly synced with the repository. If a corporate proxy is serving a rewritten zip, the proxy must be fixed. If the dependency author re-published the same version with different code, the dependency version must be incremented.
Journey Context:
A developer pulls the latest code and runs \`go build\`, but gets a 'checksum mismatch' error for a specific dependency version. The error shows the expected checksum from \`go.sum\` and the actual hash calculated from the downloaded zip. The developer suspects a supply chain attack or a corrupted download. They delete the specific module from their cache and try again, but it fails. They check the \`go.sum\` file and realize a teammate might have force-pushed a tag or the dependency author re-published the same version with different code \(which violates Go's immutable version guarantee\). Alternatively, the developer's corporate Go proxy \(\`GOPROXY\`\) might be serving a slightly modified zip \(e.g., re-compressing it\), altering the zip's hash. The fix is to first verify with the dependency author if the version was retracted or re-tagged. If it's a proxy compression issue, the proxy needs fixing. To unblock locally, if the new checksum is the legitimate one, the developer must delete the relevant lines from \`go.sum\`, run \`go get @\` to fetch the new checksum, and commit the updated \`go.sum\`. If it's just a local cache corruption, \`go clean -modcache\` resolves it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:15:59.429295+00:00— report_created — created