That’s not only a read/write race, it’s also a write/write race. Every request to the server creates a new Go routine that might increment newConns in parallel, so it may get corrupted. Same for lines 39/40.
You might claim, that for infrastructural reasons, there can be no concurrent requests to your server, but that would just mean that the race is not triggered, it’s there nevertheless. Caleb Spare <cesp...@gmail.com> schrieb am Mi. 7. Juni 2023 um 01:31: > Can someone explain why the following test shows a race between the > indicated lines? > > > https://github.com/cespare/misc/blob/b2e201dfbe36504c88e521e02bc5d8fbb04a4532/httprace/httprace_test.go#L12-L43 > > The race seems to be triggered by the very last line of the test: > > get(client1) > > If I comment that out, then the race detector doesn't complain. But > then it seems that a read of a variable which happens before an HTTP > request which causes a write of the variable ultimately races with the > original read, which doesn't make sense. > > It seems like a false positive (perhaps the race detector doesn't > understand causality across a TCP connection?), but so far I've never > seen the race detector have a false positive, so I think I must be > missing something. > > I wrote a slightly simpler test (see TestHTTPRace2 right below in the > same file) which tries to make the race happen using a regular HTTP > handler and a single client and the race detector doesn't complain. > > Caleb > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/CAGeFq%2B%3DZGE5agaLYDgsdYvykbaWwHgjtKJf9q%2B1YJhR26%3DY45Q%40mail.gmail.com > . > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAFwXxZSzEUtf9M-b0nNYa%2B%3DiaxK%2BmfnJk%3DASKDp1kj2Cx7WqQA%40mail.gmail.com.