Open rsukhodolskyi opened 1 year ago
I assume network poller waits for ack message from client which dropped connection what leads to ws stream to be frozen.
I think you are right, but then this depends on how you configure the code here. IE jsonrpc2 just takes in whatever you give it as a ws.Conn. You need to make it error out when things go wrong. I'm not really sure why this would be different between the two hashes without diving deeper. A reproduction would help a lot here.
Moreover, because of the shared lock in Close function c.sending.Lock() it's also impossible to drop such client connection:
Ouch, nice find. This is indeed a bug since 15c2290dcb37. Will take a look.
@rsukhodolskyi latest commit fixes Close not blocking. Do you have a reproduction to help track down the dropped acks?
I assume network poller waits for ack message from client which dropped connection what leads to ws stream to be frozen. This bug is only reproducible on
v0.2.0
previous version i've used didn't have this issue:v0.0.0-20200429184054-15c2290dcb37
Moreover, because of the shared lock in
Close
functionc.sending.Lock()
it's also impossible to drop such client connection: