-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
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
Goroutine leak in the client in v1.8.5 #231
Comments
Thanks for reporting! Does the profile by any chance show how long forceLock has been blocked? Can you profile a few minutes later and see if the same goroutine is still blocked? |
Found this, thanks for reporting! |
Will tag v1.8.6 EOD. |
Sorry for the delay, tagged v1.8.6 today! |
I've noticed my notifications were disabled and only just saw this. Thanks a lot @nhooyr for quick response and fixing this, we'll update our dependency. 🎉 |
Hi
I have encountered a goroutine leak in my client using
1.8.5
:When we moved back to
1.8.4
, the issue has disappeared.Our client app is a load testing client so it would open connections and then close them to simulate "real" clients connecting, therefore new connections would be opened and for each one,
Close
method would be called once. IfClose
leaks a goroutine, a large number of goroutines causes us memory issues.The server side is NodeJS using
ws-7.2.3
. We're running all this Linux containers in Kubernetes.I attempted to write a small repro case in Go (both client and server), with self-signed TLS certs as well to see if TLS could trigger the issue, but I didn't manage to repro the issue with it. AFAIK there isn't anything odd happening while the client and server communicate. Few synchronous messages and then server pushes a few updates. Either side may be the first one to close the connection, but they use close handshake.
Not sure if this is enough details, LMK if there is something else I can look up to help!
The text was updated successfully, but these errors were encountered: