Closed
Bug 1041525
Opened 11 years ago
Closed 11 years ago
Possible deadlock in Crashreporter::OOPInit() from GMP plugin initialization
Categories
(Core :: WebRTC, defect)
Core
WebRTC
Tracking
()
Tracking | Status | |
---|---|---|
firefox32 | --- | unaffected |
firefox33 | + | verified |
firefox34 | --- | verified |
People
(Reporter: gfritzsche, Assigned: gfritzsche)
References
(Blocks 1 open bug)
Details
Attachments
(2 files, 5 obsolete files)
1.03 KB,
patch
|
gfritzsche
:
review+
Sylvestre
:
approval-mozilla-aurora+
gfritzsche
:
checkin+
|
Details | Diff | Splinter Review |
2.45 KB,
patch
|
jesup
:
review+
Sylvestre
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
Main thread stack: https://pastebin.mozilla.org/5586355
GMP thread stack: https://pastebin.mozilla.org/5586330
> <jesup> gfritzsche: looks like it's a deadlock: OOPInit SyncRunnable's to MainThread, and MainThread is SyncRunnableing to GMPThread
> <jesup> cpearce had a patch to proxy SyncLaunch to MainThread, but bsmedberg didn't want to do that, and updated things to keep SyncLaunch on GMPThread. Forget the bug number
Flags: firefox-backlog+
Assignee | ||
Updated•11 years ago
|
Blocks: 1038961, WebRTC-OpenH264
Assignee | ||
Updated•11 years ago
|
Whiteboard: [leave-open][webrtc-uplift]
Comment 1•11 years ago
|
||
tested on Linux m-c opt --enable-crashreporter build that failed before in a possible SyncRunnable-to-mainthread deadlock
Updated•11 years ago
|
Attachment #8459583 -
Flags: review?(georg.fritzsche)
Comment 2•11 years ago
|
||
remove unrelated change
Updated•11 years ago
|
Attachment #8459583 -
Attachment is obsolete: true
Attachment #8459583 -
Flags: review?(georg.fritzsche)
Updated•11 years ago
|
Attachment #8459587 -
Flags: review?(georg.fritzsche)
Assignee | ||
Updated•11 years ago
|
Attachment #8459587 -
Flags: review?(georg.fritzsche) → review+
Comment 3•11 years ago
|
||
Target Milestone: --- → mozilla33
Comment 4•11 years ago
|
||
Updated•11 years ago
|
Attachment #8459587 -
Attachment is obsolete: true
Comment 5•11 years ago
|
||
Updated•11 years ago
|
Attachment #8459592 -
Attachment is obsolete: true
Updated•11 years ago
|
Attachment #8459601 -
Flags: review?(georg.fritzsche)
Assignee | ||
Updated•11 years ago
|
Attachment #8459601 -
Flags: review?(georg.fritzsche) → review+
Comment 6•11 years ago
|
||
Incorrect patch landed; backout and landed correct one:
https://hg.mozilla.org/integration/mozilla-inbound/rev/81215b610d8d
https://hg.mozilla.org/integration/mozilla-inbound/rev/fa68d4a514cd
Assignee | ||
Updated•11 years ago
|
Iteration: --- → 33.3
Updated•11 years ago
|
Status: NEW → ASSIGNED
QA Whiteboard: [qa?]
Assignee | ||
Updated•11 years ago
|
QA Whiteboard: [qa?] → [qa-]
Comment 7•11 years ago
|
||
Comment on attachment 8459601 [details] [diff] [review]
Disable GMP OOPInit() during SyncLaunch() until crashreporting fully hooked up
NOTE: request for Aurora/33, not 32, under the assumption this patch doesn't get included in the uplift (which seems likely)
Approval Request Comment
[Feature/regressing bug #]: GMP code as a whole (exact bug not relevant)
[User impact if declined]: OpenH264 will not work (crash/lockup) in opt builds with CrashReporter turned on
[Describe test coverage new/current, TBPL]: Dummy OpenH264 plugin and test in-tree; only runnable by hand until we get some help from the build peers this week. (Bug 1037125 and follow-ons) Note that this only fails in crashreporter-enabled builds!
[Risks and why]: minimal risk; specific disabling to the GMP plugin, where there are a few small missing pieces in getting GMP crash reporting up. (see bug 1041226, which may be related)
[String/UUID change made/needed]: none
Attachment #8459601 -
Flags: approval-mozilla-aurora?
Assignee | ||
Updated•11 years ago
|
tracking-firefox33:
--- → ?
Assignee | ||
Updated•11 years ago
|
status-firefox32:
--- → unaffected
status-firefox33:
--- → affected
status-firefox34:
--- → affected
(In reply to Wes Kocher (:KWierso) from comment #8)
> https://hg.mozilla.org/mozilla-central/rev/fa68d4a514cd
This didn't make the cut for 33, for the record.
Updated•11 years ago
|
Iteration: 33.3 → 34.1
Comment 10•11 years ago
|
||
Some unfinished WIP for API changes
Updated•11 years ago
|
Attachment #8459601 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Assignee | ||
Updated•11 years ago
|
Attachment #8459601 -
Flags: checkin?
Assignee | ||
Comment 12•11 years ago
|
||
Comment on attachment 8459601 [details] [diff] [review]
Disable GMP OOPInit() during SyncLaunch() until crashreporting fully hooked up
https://hg.mozilla.org/releases/mozilla-aurora/rev/e263af5237ff
Attachment #8459601 -
Flags: checkin? → checkin+
Assignee | ||
Comment 13•11 years ago
|
||
I can't reproduce this and the stacks in pastebin are gone already.
I'm not sure if we have any useful next steps for now.
Assignee | ||
Comment 14•11 years ago
|
||
Maybe jesup still has the stacks somewhere?
Flags: needinfo?(rjesup)
Comment 15•11 years ago
|
||
IIRC, new profile; download, go to http://mozilla.github.com/webrtc-landing/pc_test.html, click h264, start.
Needed to be an opt build with --enable-crashreporter.
Flags: needinfo?(rjesup)
Updated•11 years ago
|
Whiteboard: [leave-open][webrtc-uplift] → [leave-open][openh264-uplift]
Assignee | ||
Comment 16•11 years ago
|
||
Thanks, i tried with that today.
I can try some variations tomorrow and speculative reading of the code.
If that doesn't work i propose we re-enable this later tomorrow together with bug 1041226 fixed. Then we either see it's gone or should get crash-/hangreports.
Assignee | ||
Comment 17•11 years ago
|
||
(This is given the time-frame here we're working with for re-enabling)
Assignee | ||
Comment 18•11 years ago
|
||
adalucinet got a hang with an Aurora build from before workaround landed and produced a crash report with proper stacks:
bp-51371aef-307c-4c20-b72a-829752140723
Updated•11 years ago
|
QA Contact: drno
Assignee | ||
Comment 19•11 years ago
|
||
Reliably reproduced this on OS X & m-c rev 9383ccd71289 with --disable-debug, --enable-optimize, --enable-crashreporter.
The problem this ran into is two SyncRunnables blocking each other:
* main thread: http://hg.mozilla.org/mozilla-central/annotate/06ac51c2b8a8/media/webrtc/signaling/src/media-conduit/WebrtcGmpVideoCodec.cpp#l131
* gmp thread: http://hg.mozilla.org/mozilla-central/annotate/06ac51c2b8a8/toolkit/crashreporter/nsExceptionHandler.cpp#l2557
Suggested simple and - per spot-checking - working fix: for the main-thread dispatch, use mGMPThread->Dispatch(..., NS_DISPATCH_SYNC) so it keeps spinning the event loop.
Assignee | ||
Comment 20•11 years ago
|
||
Assignee | ||
Comment 21•11 years ago
|
||
Comment on attachment 8459998 [details] [diff] [review]
some api proposals
This wasn't meant for this bug.
Attachment #8459998 -
Attachment is obsolete: true
Assignee | ||
Comment 22•11 years ago
|
||
Comment on attachment 8461627 [details] [diff] [review]
Dispatch using NS_DISPATCH_SYNC
I can explain the related bug 1042348 now and local testing looks good.
Attachment #8461627 -
Flags: review?(rjesup)
Assignee | ||
Comment 23•11 years ago
|
||
Forgot putting the re-enabling part up as well.
Attachment #8461627 -
Attachment is obsolete: true
Attachment #8461627 -
Flags: review?(rjesup)
Attachment #8461643 -
Flags: review?(rjesup)
Comment 24•11 years ago
|
||
Comment on attachment 8461643 [details] [diff] [review]
Dispatch using NS_DISPATCH_SYNC
Review of attachment 8461643 [details] [diff] [review]:
-----------------------------------------------------------------
r+ to land just the GeckoChildProcessHost.cpp part (I landed fixes for the Dispatch on another bug already)
Attachment #8461643 -
Flags: review?(rjesup) → review+
Comment 25•11 years ago
|
||
Whiteboard: [leave-open][openh264-uplift] → [openh264-uplift]
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: mozilla33 → mozilla34
Comment 27•11 years ago
|
||
Comment on attachment 8461643 [details] [diff] [review]
Dispatch using NS_DISPATCH_SYNC
Approval Request Comment
[Feature/regressing bug #]: N/A
[User impact if declined]: No GMP crashreporter in Aurora/33
[Describe test coverage new/current, TBPL]: Marked test for GMP plugins for uplift; this gets called on every plug invocation
[Risks and why]: Failures if bug 1041232 isn't landed on Aurora first
[String/UUID change made/needed]: None
Attachment #8461643 -
Flags: approval-mozilla-aurora?
Comment 28•11 years ago
|
||
NOTE: it appears that we need to land bug 1041232 and this bug on Aurora to stop Aurora (especially Mac) crashes
Updated•11 years ago
|
Attachment #8461643 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•11 years ago
|
Comment 29•11 years ago
|
||
Whiteboard: [openh264-uplift]
Comment 31•10 years ago
|
||
Nils, could you please verify this is fixed? It's probably sufficient to verify via testing that bug 1044249 no longer reproduces.
Flags: needinfo?(drno)
Comment 32•10 years ago
|
||
As we did not have exact procedure to reproduce the crashes I placed lots of manual H264 calls on pc_tes.html with FF 33 and 34 on Mac and Windows and I was not able to reproduce any crash any more.
You need to log in
before you can comment on or make changes to this bug.
Description
•