Go version
go version go1.24.3 linux/amd64
Output of go env
in your module/workspace:
AR='ar'
CC='gcc'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOAMD64='v1'
GOARCH='amd64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='$HOME/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='$HOME/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3679229198=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/tmp/tmp.GBjawjYL8F/go.mod'
GOMODCACHE='$HOME/go/pkg/mod'
GOOS='linux'
GOPATH='$HOME/go'
GOROOT='$HOME/.local/share/asdf/installs/golang/1.24.3/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='$HOME/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='$HOME/.local/share/asdf/installs/golang/1.24.3/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.24.3'
GOWORK=''
PKG_CONFIG='pkg-config'
What did you do?
cd $(mktemp -d)
go mod init example.com/m
go get -tool golang.org/x/vuln/cmd/govulncheck@v1.1.4
go get -u golang.org/x/tools@master
go mod tidy
What did you see happen?
go: finding module for package golang.org/x/tools/go/packages/packagestest
go: found golang.org/x/tools/go/packages/packagestest in golang.org/x/tools/go/packages/packagestest v0.0.0-20250612192959-30120599a5ba
go: downloading golang.org/x/tools/go/expect v0.0.0
go: golang.org/x/vuln/cmd/govulncheck imports
golang.org/x/vuln/scan imports
golang.org/x/vuln/internal/scan imports
golang.org/x/vuln/internal/buildinfo tested by
golang.org/x/vuln/internal/buildinfo.test imports
golang.org/x/tools/go/packages/packagestest imports
golang.org/x/tools/go/expect: reading golang.org/x/tools/go/expect/go.mod at revision go/expect/v0.0.0: unknown revision go/expect/v0.0.0
What did you expect to see?
Renovate updated the indirect dependency for x/tools
on several of my repos to the latest master. This caused go mod tidy
to fail with the error above.
Previous (working) version was commit 439ea2f0f815f46421aaecd85ffd0f75b0a303f9
, first failing version is https://cs.opensource.google/go/x/tools/+/a5f2a1893145b1c54ec841e1c5cae7f9853e724a
I'm not sure why Renovate is tracking master for x/tools
, so I wouldn't call this a bug. So just a reminder to update x/vuln
😄
Comment From: gabyhelp
Related Issues
- x/tools/gopls: broken build with x/vuln@latest #59837 (closed)
- cmd/go: go mod tidy reverts upgrade #38985 (closed)
- x/vuln/cmd/govulncheck: outdated go version requirements in doc.go #68256 (closed)
- x/vuln/cmd/vulncheck: adds entries to `go.sum` #65170 (closed)
- x/vulndb: build is broken #46088 (closed)
- x: keep versions syncronized #37840 (closed)
- Gopls breaks `go mod tidy` though an incorrect patch version dependency on golang.org/x/tools #64994 (closed)
- x/tools/gopls: released version v0.17.1 depends on a dev version of golang.org/x/tools which is removed by `go mod tidy` without a `replace` directive #71427 (closed)
- x/tools: vet brings massive amount of dependencies, errors when building #30506 (closed)
- x/vuln: Panic "cannot range over: func(yield func(K, V) bool) using golang 1.23.0 #68978 (closed)
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Comment From: cherrymui
cc @adonovan @findleyr for CL https://go.dev/cl/680755 cc @golang/vulndb
Comment From: adonovan
Thanks for the clear report, and sorry for the breakage. We are in the middle of the rather complex procedure for migrating two packages in x/tools (see #70229) into their own modules. Unfortunately I forgot that between some of the steps of this procedure there is a window during which things are broken, and I failed to ensure that they are executed in quick succession. I'm working to finish it up asap.
Comment From: adonovan
Ok, all working now. Apologies again for the disruption.