Closed
Bug 1479853
Opened 7 years ago
Closed 7 years ago
SSRC switching logic can hit non-debug asserts in webrtc.org
Categories
(Core :: WebRTC: Audio/Video, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla63
People
(Reporter: bwc, Assigned: bwc)
References
Details
Crash Data
Attachments
(2 files)
46 bytes,
text/x-phabricator-request
|
ng
:
review+
RyanVM
:
approval-mozilla-esr60-
|
Details | Review |
15.31 KB,
patch
|
RyanVM
:
approval-mozilla-esr60+
|
Details | Diff | Splinter Review |
Our SSRC switching logic in VideoConduit makes it pretty easy for an RTP endpoint to (nullptr) crash our release builds. jitsi does this inadvertently (and somewhat intermittently), see https://bugzilla.mozilla.org/show_bug.cgi?id=1472321#c31.
The gist is that every time we see an unsignaled SSRC change, we try to change the SSRC on the VideoConduit, but we do not ensure that no other VideoConduit is using that new SSRC. If more than one VideoConduit is using the same SSRC, this violates invariants down in webrtc.org, some of which are enforced by non-debug assertions.
Even if we were to remove the unsignaled SSRC logic, we're just going to run into this problem again when we support demux using RTP MID.
We will need to fix this by checking if any conduit is using a given SSRC before setting that SSRC on any other conduit, probably.
Assignee | ||
Comment 1•7 years ago
|
||
Assignee | ||
Comment 2•7 years ago
|
||
Updated•7 years ago
|
Rank: 19
Priority: -- → P2
Assignee | ||
Comment 3•7 years ago
|
||
Assignee | ||
Comment 4•7 years ago
|
||
Comment 5•7 years ago
|
||
Comment on attachment 8997556 [details]
Bug 1479853: Prevent more than one VideoConduit having the same remote SSRC.
Nico Grunbaum [:ng] has approved the revision.
https://phabricator.services.mozilla.com/D2738
Attachment #8997556 -
Flags: review+
Assignee | ||
Comment 6•7 years ago
|
||
Pushed by bcampen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6eac5ca54df4
Prevent more than one VideoConduit having the same remote SSRC. r=ng
Comment 8•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Updated•7 years ago
|
Assignee: nobody → docfaraday
Comment 10•6 years ago
|
||
Should we perhaps attempt an ESR uplift here Byron?
Crash Signature: [@ mozalloc_abort | abort | webrtc::internal::Call::DestroyVideoReceiveStream ]
[@ abort | webrtc::internal::Call::DestroyVideoReceiveStream ]
[@ mozalloc_abort | abort | webrtc::internal::Call::DestroyVideoSendStream ]
[@ ReceivePort::WaitForMessage |…
Flags: needinfo?(docfaraday)
Assignee | ||
Comment 13•6 years ago
|
||
Comment on attachment 8997556 [details]
Bug 1479853: Prevent more than one VideoConduit having the same remote SSRC.
[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration:
This makes it pretty easy for a site to crash tabs at will, and some sites do this accidentally.
User impact if declined:
Lots of potential annoyance.
Fix Landed on Version:
63
Risk to taking this patch (and alternatives if risky):
Fairly low.
String or UUID changes made by this patch:
None.
See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Flags: needinfo?(docfaraday)
Attachment #8997556 -
Flags: approval-mozilla-esr60?
Comment 14•6 years ago
|
||
Comment on attachment 8997556 [details]
Bug 1479853: Prevent more than one VideoConduit having the same remote SSRC.
This doesn't graft cleanly to ESR60. Please attach a rebased patch and re-nominate for approval.
Attachment #8997556 -
Flags: approval-mozilla-esr60? → approval-mozilla-esr60-
Comment 15•6 years ago
|
||
Byron can you please rebase you patch for ESR and re-request uplift as this seems to be the number one crasher for WebRTC on ESR?
Flags: needinfo?(docfaraday)
Assignee | ||
Comment 16•6 years ago
|
||
Assignee | ||
Comment 17•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Flags: needinfo?(docfaraday) → needinfo?(ryanvm)
Assignee | ||
Comment 18•6 years ago
|
||
Comment on attachment 9020359 [details] [diff] [review]
Prevent more than one VideoConduit having the same remote SSRC. (esr60 backport)
[ESR Uplift Approval Request]
If this is not a sec:{high,crit} bug, please state case for ESR consideration:
User impact if declined:
Fix Landed on Version:
Risk to taking this patch: Low
Why is the change risky/not risky? (and alternatives if risky):
String or UUID changes made by this patch:
Attachment #9020359 -
Flags: approval-mozilla-esr60?
Comment 19•6 years ago
|
||
An approval request is enough, no need to NI. That said, it'll need to into 60.4 at this point since we already shipped 60.3 earlier this week.
status-firefox-esr60:
--- → affected
Flags: needinfo?(ryanvm)
Comment 20•6 years ago
|
||
Comment on attachment 9020359 [details] [diff] [review]
Prevent more than one VideoConduit having the same remote SSRC. (esr60 backport)
Approving for 60.3.1esr (or 60.4.0esr, whatever we happen to ship next).
Attachment #9020359 -
Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Comment 21•6 years ago
|
||
bugherder uplift |
You need to log in
before you can comment on or make changes to this bug.
Description
•