Skip to content

net/http: data race in test #11136

Closed
Closed
@bradfitz

Description

@bradfitz

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeTestingAn issue that has been verified to require only test changes, not just a test failure.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions