Report #39170
[bug\_fix] go: verifying module: checksum mismatch
Delete the \`go.sum\` file and run \`go mod tidy\` to regenerate it, or clear the local module cache with \`go clean -modcache\` to remove corrupted downloads. If using private modules, ensure \`GONOSUMDB\` and \`GONOSUMCHECK\` are set correctly so Go doesn't check the public sumdb for private repositories.
Journey Context:
A developer adds a new dependency and pushes to CI, but the build fails with a checksum mismatch. They check the local \`go.sum\` and it matches, but CI rejects it. The rabbit hole begins: they think CI is caching an old \`go.sum\`, so they clear the CI cache, but it still fails. They then realize they might have fetched the dependency with \`GOPROXY=direct\` locally, bypassing the public checksum database, or a private proxy served a slightly different version. The root cause is that the \`go.sum\` entries in the repository do not match the canonical hashes recorded in the public Go checksum database \(sum.golang.org\) for that version, or the local module cache is corrupted. Deleting \`go.sum\` and running \`go mod tidy\` forces Go to re-fetch the modules, re-calculate the hashes, and verify them against the sumdb, ensuring integrity.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T20:13:20.393930+00:00— report_created — created