Open
Description
What version of Go are you using (go version
)?
$ go version go version go1.14 linux/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/nfs/users/nfs_s/sb10/.cache/go-build" GOENV="/nfs/users/nfs_s/sb10/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/nfs/users/nfs_s/sb10/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/software/vertres/installs/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/software/vertres/installs/go/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="0" GOMOD="/nfs/users/nfs_s/sb10/src/go/github.com/VertebrateResequencing/wr/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build484982129=/tmp/go-build -gno-record-gcc-switches"$ free -m
total used free shared buff/cache available
Mem: 135359 19962 78221 28 37175 114236
Swap: 223231 38 223193
What did you do?
git clone https://github.com/sb10/wr.git cd wr git checkout ThreadSanitizer CGO_ENABLED=1 go test -p 1 -tags netgo -race --count 1 -gcflags=all=-d=checkptr=0 ./jobqueue -run TestJobqueueRunners -v
What did you expect to see?
Tests should pass cleanly the same way they do without race (go test -p 1 -tags netgo --count 1 ./jobqueue -run TestJobqueueRunners -v
).
What did you see instead?
Variations on:
ERROR: ThreadSanitizer failed to allocate 0x28000 (163840) bytes of sync allocator (error code: 12) FATAL: ThreadSanitizer CHECK failed: ./gotsan.cpp:7064 "((0 && "unable to mmap")) != (0)" (0x0, 0x0)
Which exits the test. It happens during a seemingly random test each attempt.
Additional info:
- As mentioned, no problems with race detection disabled.
- Problem also happens with go1.13.8, didn't check other versions.
- Problem goes away if I revert usage of
github.com/sasha-s/go-deadlock
back tosync
, but I want to run go-deadlock in production to catch deadlock bugs that my tests aren't finding.
As a bad interaction between go-deadlock and the go race detector, I have no idea how to debug this.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Triage Backlog