m-lab / traceroute-caller

A sidecar service which runs traceroute after a connection closes
Apache License 2.0
18 stars 5 forks source link

Race between different tests #57

Closed pboothe closed 4 years ago

pboothe commented 4 years ago
==================
360WARNING: DATA RACE
361Write at 0x00000109b118 by goroutine 18:
362  github.com/m-lab/traceroute-caller.TestMainWithConnectionListener()
363      /home/travis/gopath/src/github.com/m-lab/traceroute-caller/caller_test.go:52 +0x522
364  testing.tRunner()
365      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:827 +0x162
366
367Previous read at 0x00000109b118 by goroutine 39:
368  github.com/m-lab/traceroute-caller.main.func1()
369      /home/travis/gopath/src/github.com/m-lab/traceroute-caller/caller.go:76 +0x70
370
371Goroutine 18 (running) created at:
372  testing.(*T).Run()
373      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:878 +0x659
374  testing.runTests.func1()
375      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:1119 +0xa8
376  testing.tRunner()
377      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:827 +0x162
378  testing.runTests()
379      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:1117 +0x4ee
380  testing.(*M).Run()
381      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:1034 +0x2ee
382  main.main()
383      _testmain.go:46 +0x221
384
385Goroutine 39 (finished) created at:
386  github.com/m-lab/traceroute-caller.main()
387      /home/travis/gopath/src/github.com/m-lab/traceroute-caller/caller.go:74 +0x978
388  github.com/m-lab/traceroute-caller.TestMain()
389      /home/travis/gopath/src/github.com/m-lab/traceroute-caller/caller_test.go:37 +0x301
390  testing.tRunner()
391      /home/travis/.gimme/versions/go1.11.13.linux.amd64/src/testing/testing.go:827 +0x162
392==================
393

The two tests in caller_test.go have race conditions around the global cancel() function.