You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When connecting to TCP MUX, having data flown though it and then disconnecting on the client side, I am flooded with failed to send packet: io: read/write on closed pipe until the server side is closed. It looks like, the close event is not propagated correctly.
When reverting this commit 7f13fd1 it works as expected. That means, connection was never closed before.
Checking if connection is actually open before writing to it seems to fix this issue. Adding following code to func (c *candidateBase) writeTo(raw []byte, dst Candidate) (int, error):
I suspect that this unconditional writing might lead to race condition that causes deadlock in very rare cases (5475fdb), and proactively closing the channel on server made this issue more visible. I am still investigating and trying to reproduce it.
Environment.
Version: v2.2.12
Browser: Chrome 107
The text was updated successfully, but these errors were encountered:
When connecting to TCP MUX, having data flown though it and then disconnecting on the client side, I am flooded with
failed to send packet: io: read/write on closed pipe
until the server side is closed. It looks like, the close event is not propagated correctly.When reverting this commit 7f13fd1 it works as expected. That means, connection was never closed before.
Checking if connection is actually open before writing to it seems to fix this issue. Adding following code to
func (c *candidateBase) writeTo(raw []byte, dst Candidate) (int, error)
:I suspect that this unconditional writing might lead to race condition that causes deadlock in very rare cases (5475fdb), and proactively closing the channel on server made this issue more visible. I am still investigating and trying to reproduce it.
Environment.
The text was updated successfully, but these errors were encountered: