-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Closed
Closed
Copy link
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Description
What version of Go are you using (go version)?
$ go version go version go1.17.3 darwin/amd64
Does this issue reproduce with the latest release?
yes, same with 1.17.5 (just checked)
What operating system and processor architecture are you using (go env)?
go env Output
$ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/Users/tobias/Library/Caches/go-build" GOENV="/Users/tobias/Library/Application Support/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/tobias/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/tobias/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GOVCS="" GOVERSION="go1.17.5" GCCGO="gccgo" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/dev/null" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/nm/j0343rr1275fpm9r3bk3vr200000gq/T/go-build2415583411=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
go test -race foo_test.go
var labelSet = pprof.Labels("foo", "bar")
func TestRace(t *testing.T) {
go func(ctx context.Context) {
ctx = pprof.WithLabels(ctx, labelSet)
pprof.SetGoroutineLabels(ctx)
}(context.Background())
require.NoError(t, pprof.Lookup("goroutine").WriteTo(io.Discard, 1))
}What did you expect to see?
Passing test and no data race.
What did you see instead?
=== RUN TestRace
==================
WARNING: DATA RACE
Read at 0x00c000124020 by goroutine 22:
runtime/pprof.(*labelMap).String()
/usr/local/go/src/runtime/pprof/label.go:46 +0x53
runtime/pprof.printCountProfile.func1()
/usr/local/go/src/runtime/pprof/pprof.go:415 +0x178
runtime/pprof.printCountProfile()
/usr/local/go/src/runtime/pprof/pprof.go:424 +0x2f1
runtime/pprof.writeRuntimeProfile()
/usr/local/go/src/runtime/pprof/pprof.go:732 +0x1b8
runtime/pprof.writeGoroutine()
/usr/local/go/src/runtime/pprof/pprof.go:684 +0x8f
runtime/pprof.(*Profile).WriteTo()
/usr/local/go/src/runtime/pprof/pprof.go:331 +0x1b0
github.com/cockroachdb/cockroach/pkg/util/stop.TestRace()
/Users/tobias/go/src/github.com/cockroachdb/cockroach/pkg/util/stop/tc_test.go:29 +0x129
testing.tRunner()
/usr/local/go/src/testing/testing.go:1259 +0x22f
testing.(*T).Run·dwrap·21()
/usr/local/go/src/testing/testing.go:1306 +0x47
Previous write at 0x00c000124020 by goroutine 23:
runtime/pprof.WithLabels()
/usr/local/go/src/runtime/pprof/label.go:60 +0x88
github.com/cockroachdb/cockroach/pkg/util/stop.TestRace.func1()
/Users/tobias/go/src/github.com/cockroachdb/cockroach/pkg/util/stop/tc_test.go:26 +0x57
github.com/cockroachdb/cockroach/pkg/util/stop.TestRace·dwrap·20()
/Users/tobias/go/src/github.com/cockroachdb/cockroach/pkg/util/stop/tc_test.go:28 +0x58
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.