Closed
Bug 828828
Opened 11 years ago
Closed 11 years ago
Assertion failure: i < Length() (invalid array index) and crash [@mozilla::MediaEngineWebRTCAudioSource::Process]
Categories
(Core :: WebRTC, defect, P1)
Core
WebRTC
Tracking
()
RESOLVED
FIXED
mozilla21
People
(Reporter: posidron, Assigned: jesup)
References
Details
(Keywords: assertion, crash, Whiteboard: [getUserMedia][blocking-gum+][qa-])
Crash Data
Attachments
(4 files)
37.15 KB,
text/plain
|
Details | |
6.28 KB,
text/plain
|
Details | |
6.20 KB,
text/plain
|
Details | |
2.15 KB,
patch
|
derf
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
I am seeing this assertion failure before the crash: Assertion failure: i < Length() (invalid array index), at ../../../dist/include/nsTArray.h:611 Tested with m-c changeset: 118260:f60b87eed1ac and the patch of bug 786236 https://bugzilla.mozilla.org/attachment.cgi?id=698334
Reporter | ||
Comment 1•11 years ago
|
||
Reporter | ||
Comment 2•11 years ago
|
||
Reporter | ||
Updated•11 years ago
|
Crash Signature: [@ mozilla::MediaEngineWebRTCAudioSource::Process]
Assignee | ||
Comment 3•11 years ago
|
||
Error I strongly suspect was due to 'mSources[i]' in Process, and that Stop() and other functions modifying mSources don't lock it
Assignee | ||
Comment 4•11 years ago
|
||
Comment on attachment 700222 [details] [diff] [review] Use monitor around all accesses to stream array FYI, mSources in MediaEngineWebRTCVideo.cpp doesn't need this treatment since mSources for video isn't accessed from threads other than the MediaManager thread.
Attachment #700222 -
Flags: review?(tterribe)
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → rjesup
Priority: -- → P1
Whiteboard: [getUserMedia][blocking-gum+][webrtc-uplift]
Assignee | ||
Updated•11 years ago
|
OS: Mac OS X → All
Hardware: x86_64 → All
Updated•11 years ago
|
Status: NEW → ASSIGNED
Keywords: assertion
Summary: WebRTC crash [@mozilla::MediaEngineWebRTCAudioSource::Process] → Assertion failure: i < Length() (invalid array index) and crash [@mozilla::MediaEngineWebRTCAudioSource::Process]
Comment 5•11 years ago
|
||
Comment on attachment 700222 [details] [diff] [review] Use monitor around all accesses to stream array Review of attachment 700222 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/media/webrtc/MediaEngineWebRTCAudio.cpp @@ +89,5 @@ > return NS_ERROR_FAILURE; > } > > + { > + ReentrantMonitorAutoEnter enter(mMonitor); So, part of the problem here is that mMonitor doesn't document what it's supposed to be guarding access to. Please add some comments to MediaEngineWebRTC.h documenting what has to be accessed with the monitor held.
Attachment #700222 -
Flags: review?(tterribe) → review+
Assignee | ||
Comment 6•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/c3c557309182
Target Milestone: --- → mozilla21
Comment 7•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c3c557309182
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c3c557309182
Comment 9•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c3c557309182
Assignee | ||
Comment 10•11 years ago
|
||
Comment on attachment 700222 [details] [diff] [review] Use monitor around all accesses to stream array [Approval Request Comment] Bug caused by (feature/regressing bug #): 811757 User impact if declined: random crashes or worse. Blocking for production release. Testing completed (on m-c, etc.): on m-c, local testing. As problem was found in ASAN, we can ask Christoph to report if the crashes are still happening. Risk to taking this patch (and alternatives if risky): Very low, as this merely extends the use of an existing lock in the structure to account for the new cross-thread usage introduced by bug 811757. There are no deadlock issues. String or UUID changes made by this patch: none
Attachment #700222 -
Flags: approval-mozilla-aurora?
Updated•11 years ago
|
Whiteboard: [getUserMedia][blocking-gum+][webrtc-uplift] → [getUserMedia][blocking-gum+][webrtc-uplift][qa-]
Comment 11•11 years ago
|
||
Comment on attachment 700222 [details] [diff] [review] Use monitor around all accesses to stream array Approving for uplift to Aurora, given this impacts getUserMedia (first released in Firefox 20).
Attachment #700222 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 12•11 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/2a6bf87c333e
status-firefox20:
--- → fixed
status-firefox21:
--- → fixed
Updated•11 years ago
|
Flags: in-testsuite-
Comment 13•11 years ago
|
||
Fixed in Fx20+, removing webrtc-uplift flag
Whiteboard: [getUserMedia][blocking-gum+][webrtc-uplift][qa-] → [getUserMedia][blocking-gum+][qa-]
You need to log in
before you can comment on or make changes to this bug.
Description
•