Closed Bug 1729405 Opened 3 months ago Closed 2 months ago

RTCPeerConnection.close throws in WPT

Categories

(Firefox :: Untriaged, defect, P2)

defect

Tracking

()

RESOLVED FIXED
94 Branch
Tracking Status
firefox94 --- fixed

People

(Reporter: philipp.hancke, Assigned: jib)

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0

Steps to reproduce:

https://github.com/web-platform-tests/wpt/pull/30213
was flaky in Firefox. I did some investigation in
https://bugs.chromium.org/p/webrtc/issues/detail?id=13148
and it looks like RTCPeerConnection.close() is throwing an error because its implementation is gone.

Expected results:

https://searchfox.org/mozilla-central/source/dom/media/PeerConnection.jsm#1529
should probably catch this error and ignore it.

Thanks Philipp for filing! I'm able to repro with http://jsfiddle.net/jib1/u5tmrwf6/

I've located what I think is the problem: pc.close() deletes this._pc here, and SRD is referencing its glorified getter this._impl. in a few places asynchronously.

There are 41 hits for this._impl. and they should all be protected by checks against "closed" state. A few appear missing, e.g. restartIce (spec looks fine there though).

Assignee: nobody → jib
Severity: -- → S3
Priority: -- → P2
Pushed by jbruaroey@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b50031080353
Test that SRD() and restartIce() don't error with pc.close(). r=bwc
https://hg.mozilla.org/integration/autoland/rev/257ce52af62b
Make SRD() and restartIce() not error on pc.close(). r=bwc
Status: UNCONFIRMED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 94 Branch
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/30885 for changes under testing/web-platform/tests
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.