- Notifications
You must be signed in to change notification settings - Fork329
Closed
Milestone
Description
When I run my go program with race detector enabled, following logs were observed.
WARNING: DATA RACElocal-setup-websocket-api-1 | Write at 0x00c0002e31b0 by goroutine 129:local-setup-websocket-api-1 | nhooyr.io/websocket.(*Conn).setCloseErrLocked()local-setup-websocket-api-1 | /go/pkg/mod/nhooyr.io/websocket@v1.8.10/close.go:288 +0xd0local-setup-websocket-api-1 | nhooyr.io/websocket.(*Conn).setCloseErr()local-setup-websocket-api-1 | /go/pkg/mod/nhooyr.io/websocket@v1.8.10/close.go:282 +0x4clocal-setup-websocket-api-1 | nhooyr.io/websocket.(*Conn).timeoutLoop()local-setup-websocket-api-1 | /go/pkg/mod/nhooyr.io/websocket@v1.8.10/conn.go:190 +0x224local-setup-websocket-api-1 | nhooyr.io/websocket.newConn.func2()local-setup-websocket-api-1 | /go/pkg/mod/nhooyr.io/websocket@v1.8.10/conn.go:137 +0x80local-setup-websocket-api-1 |local-setup-websocket-api-1 | Previous read at 0x00c0002e31b0 by goroutine 165:local-setup-websocket-api-1 | nhooyr.io/websocket.(*Conn).CloseNow()local-setup-websocket-api-1 | /go/pkg/mod/nhooyr.io/websocket@v1.8.10/close.go:117 +0x138......
Apparently it's because when it's being set, it's protected byc.closeMu
.
https://github.com/nhooyr/websocket/blob/e3a2d32f704fb06c439e56d2a85334de04b50d32/close.go#L288
However it's not when it's being read.
https://github.com/nhooyr/websocket/blob/e3a2d32f704fb06c439e56d2a85334de04b50d32/close.go#L117
Metadata
Metadata
Assignees
Labels
No labels