Closed
Bug 1181097
Opened 9 years ago
Closed 9 years ago
Assertion failure: mPromisesForOperation.IsEmpty()
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
mozilla42
Tracking | Status | |
---|---|---|
firefox39 | --- | unaffected |
firefox40 | --- | fixed |
firefox41 | --- | fixed |
firefox42 | --- | fixed |
People
(Reporter: cbook, Assigned: padenot)
References
()
Details
(Keywords: assertion)
Attachments
(2 files)
128.02 KB,
text/plain
|
Details | |
5.23 KB,
patch
|
roc
:
review+
ritu
:
approval-mozilla-aurora+
lmandel
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
found via bughunter: -> Load http://direkte.vg.no/studio/norway-chess-2015-6 --> Assertion failure: mPromisesForOperation.IsEmpty(), at /mozilla/builds/aurora/mozilla/dom/media/GraphDriver.cpp:553 mozilla::AudioCallbackDriver::~AudioCallbackDriver() [/mozilla/builds/aurora/mozilla/dom/media/GraphDriver.cpp:553] #02: mozilla::AudioCallbackDriver::~AudioCallbackDriver()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x30904e5] #03: mozilla::AudioCallbackDriver::~AudioCallbackDriver()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x30904b9] mozilla::GraphDriver::Release() [/mozilla/builds/aurora/mozilla/dom/media/GraphDriver.h:86] #05: nsRefPtr<mozilla::GraphDriver>::assign_assuming_AddRef(mozilla::GraphDriver*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3186fc9] #06: nsRefPtr<mozilla::GraphDriver>::assign_with_AddRef(mozilla::GraphDriver*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3186f7f] #07: nsRefPtr<mozilla::GraphDriver>::operator=(mozilla::GraphDriver*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x30e83df] #08: mozilla::GraphDriver::SwitchAtNextIteration(mozilla::GraphDriver*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x308e392] #09: mozilla::MediaStreamGraphImpl::ApplyAudioContextOperationImpl(mozilla::AudioNodeStream*, mozilla::dom::AudioContextOperation, void*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x31ae7a1] [58851] WARNING: Failed to create NSOpenGLPixelFormat.: file /mozilla/builds/aurora/mozilla/gfx/gl/GLContextProviderCGL.mm, line 207 #10: mozilla::MediaStreamGraph::ApplyAudioContextOperation(mozilla::AudioNodeStream*, mozilla::dom::AudioContextOperation, void*)::AudioContextOperationControlMessage::Run()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x31bbffc] #11: mozilla::MediaStreamGraphImpl::UpdateGraph(long long)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x31a736c] #12: mozilla::MediaStreamGraphImpl::OneIteration(long long, long long, long long, long long)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x31a7c2a] #13: mozilla::ThreadedDriver::RunThread()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x308ed1a] #14: mozilla::MediaStreamGraphInitThreadRunnable::Run()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x319f8f5] nsThread::ProcessNextEvent(bool, bool*) [/mozilla/builds/aurora/mozilla/xpcom/threads/nsThread.cpp:849] #16: NS_ProcessNextEvent(nsIThread*, bool)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x20de98] #17: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x849c49] #18: MessageLoop::RunInternal()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7b5a55] #19: MessageLoop::RunHandler()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7b5965] #20: MessageLoop::Run()[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7b590d] #21: nsThread::ThreadFunc(void*)[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x195dc6] #22: _pt_root[/mozilla/builds/aurora/mozilla/firefox-debug/dist/NightlyDebug.app/Contents/MacOS/libnss3.dylib +0x36c4ae] #23: _pthread_start[/usr/lib/libSystem.B.dylib +0x39fd6]
Comment 1•9 years ago
|
||
So it looks like the current |mNextDriver| gets released when assigning |aNextDriver| [1] to it. It seems like we might need to do something like |mPrevDriver = mNextDriver| in this situation, but I'm not familiar enough with this code to understand the proper flow. Paul, any thoughts? It looks like this behavior may be related to bug 1085356. [1] https://hg.mozilla.org/mozilla-central/annotate/e7e69cc8c07b/dom/media/GraphDriver.cpp#l94
Flags: needinfo?(padenot)
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → padenot
Flags: needinfo?(padenot)
Assignee | ||
Comment 2•9 years ago
|
||
We'll probably need to uplift that.
Attachment #8632888 -
Flags: review?(roc)
Attachment #8632888 -
Flags: review?(roc) → review+
https://hg.mozilla.org/mozilla-central/rev/b3ced16835c7
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Assignee | ||
Comment 5•9 years ago
|
||
Comment on attachment 8632888 [details] [diff] [review] Properly handle the case of resuming an AudioContext with an MSG that is already switching to an AudioCallbackDriver. r= Approval Request Comment [Feature/regressing bug #]: bug 1094764 [User impact if declined]: crash [Describe test coverage new/current, TreeHerder]: landed in the mozilla-inbound, added crashtest [Risks and why]: low risk, it's an easy patch [String/UUID change made/needed]: none
Attachment #8632888 -
Flags: approval-mozilla-beta?
Attachment #8632888 -
Flags: approval-mozilla-aurora?
Comment on attachment 8632888 [details] [diff] [review] Properly handle the case of resuming an AudioContext with an MSG that is already switching to an AudioCallbackDriver. r= Given that this has a crash test to verify the fix, let's land it in Aurora. Also Paul insists that this fix will help with the crashes reported in bug 1181735. Let's hope he is right!
Attachment #8632888 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
status-firefox41:
--- → affected
Comment 7•9 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/1721ccff5c55
Flags: in-testsuite+
Comment 8•9 years ago
|
||
Hi Ritu -- Can we get approval to land this on Beta as well? (The patch is still beta?) Is there a reason we're holding off landing it on Beta? Thanks.
Flags: needinfo?(rkothari)
Updated•9 years ago
|
Flags: needinfo?(rkothari)
Updated•9 years ago
|
status-firefox39:
--- → unaffected
status-firefox40:
--- → affected
Comment 9•9 years ago
|
||
Comment on attachment 8632888 [details] [diff] [review] Properly handle the case of resuming an AudioContext with an MSG that is already switching to an AudioCallbackDriver. r= Looks like a straightforward fix with a test included. Let's get this in beta6. beta+ (In reply to Maire Reavy [:mreavy] (Plz needinfo me) from comment #8) > Hi Ritu -- Can we get approval to land this on Beta as well? (The patch is > still beta?) Is there a reason we're holding off landing it on Beta? > Thanks. We will sometimes hold a patch off beta to get extra testing on aurora or wait for the person on point for beta to make the call on the patch when we're later in the beta cycle as we are now.
Attachment #8632888 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in
before you can comment on or make changes to this bug.
Description
•