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 RTCDataChannel: close() method on a JS client (Chrome for example) the data channel hangs in closing state and never transitions to closed.
This causes a memory leak and eventually more data channels cannot be created with the following error:
Uncaught (in promise) DOMException: Failed to execute 'createDataChannel' on 'RTCPeerConnection': RTCDataChannel creation failed
With your repro, I have made a potential fix linked above.
The main problem I see with the fix is that it doesn't close straight away. At the points this is detected in the code, it's hard to schedule an immediate write, so the response close waits for the normal RTO, which is 3000ms. Hence I had to up your test cases to like 4000ms wait.
Problem
When RTCDataChannel: close() method on a JS client (Chrome for example) the data channel hangs in
closing
state and never transitions toclosed
.This causes a memory leak and eventually more data channels cannot be created with the following error:
Reproduction
Checkout this branch: https://github.com/Marcel-G/str0m/tree/example/close-data-channel
Run
cargo run --example http-post
Click Connect, and Run
Observe data channels not entering the closed state
Possible cause
I suspect the same issue as other libraries:
Chrome is waiting for a
outgoingResetRequest
before considering the channel closed.The text was updated successfully, but these errors were encountered: