Closed
Description
Test-only data race I saw once in a trybot:
==================
WARNING: DATA RACE
Write by goroutine 127:
net/http_test.TestTransportConcurrency()
/tmp/workdir/go/src/net/http/transport_test.go:1104 +0x345
testing.tRunner()
/tmp/workdir/go/src/testing/testing.go:455 +0xdc
Previous read by goroutine 146:
net/http.(*Transport).getConn.func2.1()
/tmp/workdir/go/src/net/http/transport.go:534 +0xa0
Goroutine 127 (running) created at:
testing.RunTests()
/tmp/workdir/go/src/testing/testing.go:563 +0xcac
testing.(*M).Run()
/tmp/workdir/go/src/testing/testing.go:493 +0xe4
net/http_test.TestMain()
/tmp/workdir/go/src/net/http/main_test.go:19 +0x2e
main.main()
net/http/_test/_testmain.go:538 +0x209
Goroutine 146 (finished) created at:
net/http.(*Transport).getConn.func2()
/tmp/workdir/go/src/net/http/transport.go:537 +0x9c
net/http.(*Transport).getConn()
/tmp/workdir/go/src/net/http/transport.go:559 +0x45e
net/http.(*Transport).RoundTrip()
/tmp/workdir/go/src/net/http/transport.go:228 +0x62a
net/http.send()
/tmp/workdir/go/src/net/http/client.go:220 +0x6e4
net/http.(*Client).send()
/tmp/workdir/go/src/net/http/client.go:143 +0x1f7
net/http.(*Client).doFollowingRedirects()
/tmp/workdir/go/src/net/http/client.go:380 +0x1007
net/http.(*Client).Get()
/tmp/workdir/go/src/net/http/client.go:306 +0xc8
net/http_test.TestChunkedNoContent()
/tmp/workdir/go/src/net/http/transport_test.go:1071 +0x32a
testing.tRunner()
/tmp/workdir/go/src/testing/testing.go:455 +0xdc
==================
PASS
Found 1 data race(s)
FAIL net/http 13.506s
Looks like TestChunkedNoContent isn't waiting for its Transport connections to die before a later test changes hooks.