Skip to content

cmd/go: go mod download breaks on 1.21.0 due to empty GOPROXY  #61928

Closed
@Snaipe

Description

@Snaipe

What version of Go are you using (go version)?

$ go version
1.21.0

Does this issue reproduce with the latest release?

Yes, and it only happens with the latest 1.21.0. Things were working by default on the previous release.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/snaipe/.local/var/cache/go-build'
GOENV='/home/snaipe/.local/etc/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/snaipe/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/snaipe/go'
GOPRIVATE=''
GOPROXY=''
GOROOT='/tmp/go'
GOSUMDB=''
GOTMPDIR=''
GOTOOLCHAIN=''
GOTOOLDIR='/tmp/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.21.0'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='0'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1578046652=/tmp/go-build -gno-record-gcc-switches'

What did you do?

Run go mod download -x github.com/xdg/[email protected]

What did you expect to see?

It should have worked, and output something like this:

# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.info
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.info: 200 OK (0.086s)
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.mod
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.mod: 200 OK (0.005s)
# get https://proxy.golang.org/sumdb/sum.golang.org/supported
# get https://proxy.golang.org/sumdb/sum.golang.org/supported: 404 Not Found (0.005s)
# get https://sum.golang.org/lookup/github.com/xdg/[email protected]
# get https://sum.golang.org/lookup/github.com/xdg/[email protected]: 200 OK (0.281s)
# get https://sum.golang.org/tile/8/1/288
# get https://sum.golang.org/tile/8/1/288: 200 OK (0.008s)
# get https://sum.golang.org/tile/8/0/x073/886
# get https://sum.golang.org/tile/8/2/001.p/33
# get https://sum.golang.org/tile/8/0/x074/141.p/165
# get https://sum.golang.org/tile/8/1/289.p/157
# get https://sum.golang.org/tile/8/2/001.p/33: 200 OK (0.010s)
# get https://sum.golang.org/tile/8/1/289.p/157: 200 OK (0.010s)
# get https://sum.golang.org/tile/8/0/x073/886: 200 OK (0.035s)
# get https://sum.golang.org/tile/8/0/x074/141.p/165: 200 OK (0.039s)
# get https://sum.golang.org/tile/8/0/x034/273
# get https://sum.golang.org/tile/8/0/x034/273: 200 OK (0.014s)
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.zip
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.zip: 200 OK (0.008s)

What did you see instead?

The command fails with this error:

go: github.com/xdg/[email protected]: GOPROXY list is not the empty string, but contains no entries

A simple way to reproduce the issue:

$ git clone https://github.com/golang/go --single-branch -b go1.21.0 --depth=1 /tmp/go/src
$ export GOROOT=/tmp/go/src
$ export GOROOT_BOOTSTRAP=/usr/lib/go
$ export GOROOT_FINAL=/tmp/go/out
$ export CGO_ENABLED=0 
$ cd /tmp/go/src/src
$ bash ./make.bash
$ cd /tmp/go
$ cp -rf src out
$ cd out
$ ./bin/go version
go version go1.21.0 linux/amd64
$ ./bin/go env GOPROXY
$ ./bin/go mod download -x github.com/xdg/[email protected]
go: github.com/xdg/[email protected]: GOPROXY list is not the empty string, but contains no entries

For comparison, using my locally installed Go 1.20.1:

$ go version
go version go1.20.1 linux/amd64
$ go env GOPROXY
https://proxy.golang.org,direct
$ go mod download -x github.com/xdg/[email protected]
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.info
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.info: 200 OK (0.086s)
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.mod
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.mod: 200 OK (0.005s)
# get https://proxy.golang.org/sumdb/sum.golang.org/supported
# get https://proxy.golang.org/sumdb/sum.golang.org/supported: 404 Not Found (0.005s)
# get https://sum.golang.org/lookup/github.com/xdg/[email protected]
# get https://sum.golang.org/lookup/github.com/xdg/[email protected]: 200 OK (0.281s)
# get https://sum.golang.org/tile/8/1/288
# get https://sum.golang.org/tile/8/1/288: 200 OK (0.008s)
# get https://sum.golang.org/tile/8/0/x073/886
# get https://sum.golang.org/tile/8/2/001.p/33
# get https://sum.golang.org/tile/8/0/x074/141.p/165
# get https://sum.golang.org/tile/8/1/289.p/157
# get https://sum.golang.org/tile/8/2/001.p/33: 200 OK (0.010s)
# get https://sum.golang.org/tile/8/1/289.p/157: 200 OK (0.010s)
# get https://sum.golang.org/tile/8/0/x073/886: 200 OK (0.035s)
# get https://sum.golang.org/tile/8/0/x074/141.p/165: 200 OK (0.039s)
# get https://sum.golang.org/tile/8/0/x034/273
# get https://sum.golang.org/tile/8/0/x034/273: 200 OK (0.014s)
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.zip
# get https://proxy.golang.org/github.com/xdg/scram/@v/v1.0.5.zip: 200 OK (0.008s)

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeGoCommandcmd/goNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.WaitingForInfoIssue is not actionable because of missing required information, which needs to be provided.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions