Skip to content

cmd/go: go list -e -test failed with data races when data race enabled #77053

@linsite

Description

@linsite

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

$ go version
go version go1.26-devel_e84983fa40 Fri Jan 2 12:16:34 2026 -0800 linux/amd64

Does this issue reproduce with the latest release?

yes

go1.25

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

go env Output
$ go env
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='on'
GOAMD64='v1'
GOARCH='amd64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/home/ulin/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/home/ulin/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build101556184=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/home/ulin/opt/g/golang/src/go.mod'
GOMODCACHE='/home/ulin/gosrc/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/ulin/gosrc'
GOPRIVATE=''
GOPROXY='https://goproxy.cn'
GOROOT='/home/ulin/opt/g/golang'
GOSUMDB='off'
GOTELEMETRY='on'
GOTELEMETRYDIR='/home/ulin/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/home/ulin/opt/g/golang/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.26-devel_e84983fa40 Fri Jan 2 12:16:34 2026 -0800'
GOWORK=''
PKG_CONFIG='pkg-config'
GOROOT/bin/go version: go version go1.26-devel_e84983fa40 Fri Jan 2 12:16:34 2026 -0800 linux/amd64
GOROOT/bin/go tool compile -V: compile version go1.26-devel_e84983fa40 Fri Jan 2 12:16:34 2026 -0800
uname -sr: Linux 6.14.0-37-generic
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.3 LTS
Release:	24.04
Codename:	noble
/lib/x86_64-linux-gnu/libc.so.6: GNU C Library (Ubuntu GLIBC 2.39-0ubuntu8.6) stable release version 2.39.
gdb --version: GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git

What did you do?

  1. after running bash make.bash, installing a race-enabled 'go' command with bin/go install -race -o bin/go.race cmd/go.
  2. invoking bin/go.race list -e -test go/...

What did you expect to see?

packages listed without any errors.

What did you see instead?

failed with 'Found 16 data race(s)'.

WARNING: DATA RACE                                                                                                                                                  11:09:48 [662/19851]
Read at 0x00c000560b50 by main goroutine:                                                   
  cmd/go/internal/load.TestPackagesAndErrors()                                              
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/test.go:178 +0x1f11                  
  cmd/go/internal/list.runList()                                                            
      /home/ulin/opt/g/golang/src/cmd/go/internal/list/list.go:652 +0x2192                  
  cmd/go/internal/load.PackagesAndErrors()                                                  
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/pkg.go:2929 +0x484                   
  cmd/go/internal/list.runList()                                                            
      /home/ulin/opt/g/golang/src/cmd/go/internal/list/list.go:617 +0x1be4                  
  main.invoke()                                                                             
      /home/ulin/opt/g/golang/src/cmd/go/main.go:340 +0xb05                                 
  main.main()                                                                               
      /home/ulin/opt/g/golang/src/cmd/go/main.go:219 +0x1bba                                                                                                                            
                                                                                                                                                                                        
Previous write at 0x00c000560b50 by goroutine 1012:                                         
  cmd/go/internal/load.setToolFlags()                                                       
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/pkg.go:3237 +0xc9                    
  cmd/go/internal/load.TestPackagesAndErrors.func1()                                        
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/test.go:340 +0x334                   
  cmd/go/internal/load.TestPackagesAndErrors.func2()                                        
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/test.go:411 +0x33                    
                                                                                                                                                                                        
Goroutine 1012 (running) created at:                                                        
  cmd/go/internal/load.TestPackagesAndErrors() 
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/test.go:410 +0x6852
  cmd/go/internal/list.runList()
      /home/ulin/opt/g/golang/src/cmd/go/internal/list/list.go:652 +0x2192
  cmd/go/internal/load.PackagesAndErrors()
      /home/ulin/opt/g/golang/src/cmd/go/internal/load/pkg.go:2929 +0x484
  cmd/go/internal/list.runList()
      /home/ulin/opt/g/golang/src/cmd/go/internal/list/list.go:617 +0x1be4
  main.invoke()
      /home/ulin/opt/g/golang/src/cmd/go/main.go:340 +0xb05
  main.main()
      /home/ulin/opt/g/golang/src/cmd/go/main.go:219 +0x1bba

Metadata

Metadata

Assignees

Labels

BugReportIssues describing a possible bug in the Go implementation.GoCommandcmd/goNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions