Skip to content

proxy.golang.org: some calls taking ~60s to 404 #73403

Open
@myitcv

Description

@myitcv

Go version

go version go1.24.2 linux/arm64

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=''
GOARCH='arm64'
GOARM64='v8.0'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/home/myitcv/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/home/myitcv/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build2996555264=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='arm64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/dev/null'
GOMODCACHE='/home/myitcv/gostuff/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/myitcv/gostuff'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/home/myitcv/gos'
GOSUMDB='sum.golang.org'
GOTELEMETRY='on'
GOTELEMETRYDIR='/home/myitcv/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='local'
GOTOOLDIR='/home/myitcv/gos/pkg/tool/linux_arm64'
GOVCS=''
GOVERSION='go1.24.2'
GOWORK=''
PKG_CONFIG='pkg-config'

What did you do?

Ran:

go run -x cuelang.org/go/internal/ci/[email protected]

We do this as part of CI.

What did you see happen?

WORK=/tmp/go-build1295737349
# get https://proxy.golang.org/cuelang.org/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info
# get https://proxy.golang.org/cuelang.org/go/internal/ci/checks/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info
# get https://proxy.golang.org/cuelang.org/go/internal/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info
# get https://proxy.golang.org/cuelang.org/go/internal/ci/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info
# get https://proxy.golang.org/cuelang.org/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info: 404 Not Found (1.491s)
# get https://proxy.golang.org/cuelang.org/go/internal/ci/checks/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info: 404 Not Found (39.432s)
# get https://proxy.golang.org/cuelang.org/go/internal/ci/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info: 404 Not Found (58.162s)
# get https://proxy.golang.org/cuelang.org/go/internal/@v/v0.11.0-0.dev.0.20240903133435-46fb300df650.info: 404 Not Found (58.169s)
# get https://proxy.golang.org/cuelang.org/go/@v/list
# get https://proxy.golang.org/cuelang.org/go/@v/list: 200 OK (0.065s)
/home/myitcv/.cache/go-build/35/3582ec5f9525b9f429159612520fad332d4ad1f61380658e1edd63b77041e45a-d/checks
2025/04/16 16:16:13 exit status 128
exit status 1

Some calls to the proxy taking nearly 60 seconds.

What did you expect to see?

A "fast" execution of this command. Even though we run this in CI, module and package caches are warm.

Are we missing something here with respect to what the proxy caches/does not cache?

Whilst the slow path can be ~60 seconds, another run afterwards is much faster. Which feels like the proxy caches the result "for some time" but then drop it later. And that the ~60 seconds is roughly the amount of time it takes to fully hydrate a cache from the remote VCS. But that's a pure guess.

(granted cuelang.org/go/internal/ci/checks is an "internal" main package, but my understanding is that this is not wrong per se)

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugReportIssues describing a possible bug in the Go implementation.NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.proxy.golang.org

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions