We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What steps will reproduce the problem? GOMAXPROCS=46 go test -race -short net/http What do you see instead? ================== WARNING: DATA RACE Write by goroutine 227: net/http.(*persistConn).closeLocked() /build/go.tip/go/src/pkg/net/http/transport.go:807 +0xbb net/http.(*persistConn).readLoop() /build/go.tip/go/src/pkg/net/http/transport.go:571 +0x22e Previous read by goroutine 178: net/http.(*persistConn).roundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:714 +0x61 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:165 +0x4f2 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Goroutine 227 (running) created at: net/http.(*Transport).getConn() /build/go.tip/go/src/pkg/net/http/transport.go:410 +0xe40 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:160 +0x485 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Goroutine 178 (running) created at: net/http_test.TestStressSurpriseServerCloses() /build/go.tip/go/src/pkg/net/http/transport_test.go:431 +0x47a testing.tRunner() /build/go.tip/go/src/pkg/testing/testing.go:310 +0xe8 ================== ================== WARNING: DATA RACE Write by goroutine 269: net/http.(*persistConn).closeLocked() /build/go.tip/go/src/pkg/net/http/transport.go:807 +0xbb net/http.(*persistConn).readLoop() /build/go.tip/go/src/pkg/net/http/transport.go:571 +0x22e Previous read by goroutine 21: net/http.(*persistConn).roundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:714 +0x61 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:165 +0x4f2 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a schedunlock() /build/go.tip/go/src/pkg/runtime/proc.c:280 +0x5f fmt.(*fmt).pad() /build/go.tip/go/src/pkg/fmt/format.go:113 +0x39c Goroutine 269 (running) created at: net/http.(*Transport).getConn() /build/go.tip/go/src/pkg/net/http/transport.go:410 +0xe40 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:160 +0x485 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Goroutine 21 (running) created at: net/http_test.TestStressSurpriseServerCloses() /build/go.tip/go/src/pkg/net/http/transport_test.go:431 +0x47a testing.tRunner() /build/go.tip/go/src/pkg/testing/testing.go:310 +0xe8 ================== ================== WARNING: DATA RACE Read by goroutine 16: net/http.(*persistConn).roundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:714 +0x61 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:165 +0x4f2 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Previous write by goroutine 34: net/http.(*persistConn).closeLocked() /build/go.tip/go/src/pkg/net/http/transport.go:807 +0xbb net/http.(*persistConn).readLoop() /build/go.tip/go/src/pkg/net/http/transport.go:571 +0x22e schedunlock() /build/go.tip/go/src/pkg/runtime/proc.c:280 +0x5f net/textproto.(*Reader).readContinuedLineSlice() /build/go.tip/go/src/pkg/net/textproto/reader.go:133 +0x275 Goroutine 16 (running) created at: net/http_test.TestStressSurpriseServerCloses() /build/go.tip/go/src/pkg/net/http/transport_test.go:431 +0x47a testing.tRunner() /build/go.tip/go/src/pkg/testing/testing.go:310 +0xe8 Goroutine 34 (running) created at: net/http.(*Transport).getConn() /build/go.tip/go/src/pkg/net/http/transport.go:410 +0xe40 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:160 +0x485 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a ================== ================== WARNING: DATA RACE Read by goroutine 143: net/http.(*persistConn).roundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:714 +0x61 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:165 +0x4f2 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Previous write by goroutine 30: net/http.(*persistConn).closeLocked() /build/go.tip/go/src/pkg/net/http/transport.go:807 +0xbb net/http.(*persistConn).readLoop() /build/go.tip/go/src/pkg/net/http/transport.go:571 +0x22e schedunlock() /build/go.tip/go/src/pkg/runtime/proc.c:280 +0x5f mime/multipart.(*Reader).isBoundaryDelimiterLine() /build/go.tip/go/src/pkg/mime/multipart/multipart.go:290 +0x9e Goroutine 143 (running) created at: net/http_test.TestStressSurpriseServerCloses() /build/go.tip/go/src/pkg/net/http/transport_test.go:431 +0x47a testing.tRunner() /build/go.tip/go/src/pkg/testing/testing.go:310 +0xe8 Goroutine 30 (running) created at: net/http.(*Transport).getConn() /build/go.tip/go/src/pkg/net/http/transport.go:410 +0xe40 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:160 +0x485 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a ================== ================== WARNING: DATA RACE Read by goroutine 70: net/http.(*persistConn).roundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:714 +0x61 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:165 +0x4f2 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Previous write by goroutine 251: net/http.(*persistConn).closeLocked() /build/go.tip/go/src/pkg/net/http/transport.go:807 +0xbb net/http.(*persistConn).readLoop() /build/go.tip/go/src/pkg/net/http/transport.go:571 +0x22e schedunlock() /build/go.tip/go/src/pkg/runtime/proc.c:280 +0x5f fmt.(*fmt).padString() /build/go.tip/go/src/pkg/fmt/format.go:129 +0x2dc Goroutine 70 (running) created at: net/http_test.TestStressSurpriseServerCloses() /build/go.tip/go/src/pkg/net/http/transport_test.go:431 +0x47a testing.tRunner() /build/go.tip/go/src/pkg/testing/testing.go:310 +0xe8 Goroutine 251 (running) created at: net/http.(*Transport).getConn() /build/go.tip/go/src/pkg/net/http/transport.go:410 +0xe40 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:160 +0x485 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a ================== ================== WARNING: DATA RACE Read by goroutine 109: net/http.(*persistConn).roundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:714 +0x61 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:165 +0x4f2 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a Previous write by goroutine 56: net/http.(*persistConn).closeLocked() /build/go.tip/go/src/pkg/net/http/transport.go:807 +0xbb net/http.(*persistConn).readLoop() /build/go.tip/go/src/pkg/net/http/transport.go:571 +0x22e schedunlock() /build/go.tip/go/src/pkg/runtime/proc.c:280 +0x5f fmt.(*pp).doPrintf() /build/go.tip/go/src/pkg/fmt/print.go:1028 +0x17b Goroutine 109 (running) created at: net/http_test.TestStressSurpriseServerCloses() /build/go.tip/go/src/pkg/net/http/transport_test.go:431 +0x47a testing.tRunner() /build/go.tip/go/src/pkg/testing/testing.go:310 +0xe8 Goroutine 56 (running) created at: net/http.(*Transport).getConn() /build/go.tip/go/src/pkg/net/http/transport.go:410 +0xe40 net/http.(*Transport).RoundTrip() /build/go.tip/go/src/pkg/net/http/transport.go:160 +0x485 net/http.send() /build/go.tip/go/src/pkg/net/http/client.go:162 +0x4ea net/http.(*Client).send() /build/go.tip/go/src/pkg/net/http/client.go:96 +0x16b net/http.(*Client).doFollowingRedirects() /build/go.tip/go/src/pkg/net/http/client.go:278 +0x872 net/http.(*Client).Get() /build/go.tip/go/src/pkg/net/http/client.go:232 +0xd5 net/http_test.func·095() /build/go.tip/go/src/pkg/net/http/transport_test.go:419 +0x8a ================== PASS Found 6 data race(s) FAIL net/http 116.549s Which compiler are you using (5g, 6g, 8g, gccgo)? 6g Which operating system are you using? linux Which version are you using? (run 'go version') tip
The text was updated successfully, but these errors were encountered:
Comment 1:
This is actually without -short. The offending test is TestStressSurpriseServerCloses.
Sorry, something went wrong.
Comment 2:
Labels changed: added priority-later, removed priority-triage.
Owner changed to @bradfitz.
Status changed to Accepted.
Comment 3:
This issue was closed by revision 1aa56a2.
Status changed to Fixed.
Comment 4:
Labels changed: added threadsanitizer.
No branches or pull requests
The text was updated successfully, but these errors were encountered: