Closed Bug 1124952 Opened 10 years ago Closed 10 years ago

Assertion failure: !IsExclusive || !mHaveConsumer, at ../../../dist/include/MediaPromise.h:248

Categories

(Core :: Audio/Video, defect, P1)

x86
macOS
defect

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox36 --- fixed
firefox37 --- fixed
firefox38 --- fixed

People

(Reporter: jya, Assigned: bholley)

References

(Blocks 1 open bug)

Details

Attachments

(5 files)

Attached file backtrace.txt
Just pulled from nightly. And I get this a lot. (lldb) bt * thread #98: tid = 0x4d0c6c, 0x00000001062f6164 XUL`void mozilla::MediaPromise<nsRefPtr<mozilla::AudioData>, mozilla::MediaDecoderReader::NotDecodedReason, true>::Then<mozilla::MediaTaskQueue, mozilla::MediaSourceReader, void (this=0x000000013705e860, aResponseTarget=0x00000001377da7a0, aCallSite=0x000000010990228a, aThisVal=0x000000014242d400, aResolveMethod=0x00000001062e88e0, aRejectMethod=0x00000001062e8ae0)(mozilla::AudioData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)>(mozilla::MediaTaskQueue*, char const*, mozilla::MediaSourceReader*, void (mozilla::MediaSourceReader::*)(mozilla::AudioData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)) + 212 at MediaPromise.h:248, name = 'Media Decode #3', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x00000001062f6164 XUL`void mozilla::MediaPromise<nsRefPtr<mozilla::AudioData>, mozilla::MediaDecoderReader::NotDecodedReason, true>::Then<mozilla::MediaTaskQueue, mozilla::MediaSourceReader, void (this=0x000000013705e860, aResponseTarget=0x00000001377da7a0, aCallSite=0x000000010990228a, aThisVal=0x000000014242d400, aResolveMethod=0x00000001062e88e0, aRejectMethod=0x00000001062e8ae0)(mozilla::AudioData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)>(mozilla::MediaTaskQueue*, char const*, mozilla::MediaSourceReader*, void (mozilla::MediaSourceReader::*)(mozilla::AudioData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)) + 212 at MediaPromise.h:248 frame #1: 0x00000001062e889d XUL`mozilla::MediaSourceReader::RequestAudioDataComplete(this=0x000000014242d400, aTime=0) + 189 at MediaSourceReader.cpp:145 frame #2: 0x00000001062e84df XUL`mozilla::MediaSourceReader::RequestAudioData(this=0x000000014242d400) + 719 at MediaSourceReader.cpp:137 frame #3: 0x00000001061f71fd XUL`mozilla::MediaDecoderStateMachine::DecodeAudio(this=0x000000014242d800) + 557 at MediaDecoderStateMachine.cpp:734 frame #4: 0x000000010625769e XUL`nsRunnableMethodImpl<void (this=0x0000000100403b80)(), void, true>::Run() + 190 at nsThreadUtils.h:386 frame #5: 0x00000001062234b9 XUL`mozilla::MediaTaskQueue::Runner::Run(this=0x0000000137ad36c0) + 633 at MediaTaskQueue.cpp:230 frame #6: 0x0000000103706e07 XUL`nsThreadPool::Run(this=0x00000001429d8660) + 967 at nsThreadPool.cpp:225 frame #7: 0x0000000103706efc XUL`non-virtual thunk to nsThreadPool::Run(this=0x00000001429d8668) + 28 at nsThreadPool.cpp:239 frame #8: 0x0000000103703868 XUL`nsThread::ProcessNextEvent(this=0x0000000141c6a4c0, aMayWait=false, aResult=0x0000000129cdec4e) + 2088 at nsThread.cpp:855 frame #9: 0x000000010375d847 XUL`NS_ProcessNextEvent(aThread=0x0000000141c6a4c0, aMayWait=false) + 151 at nsThreadUtils.cpp:265 frame #10: 0x0000000103d8d7a3 XUL`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x000000012a8e5ac0, aDelegate=0x0000000137980280) + 691 at MessagePump.cpp:339 frame #11: 0x0000000103d22e35 XUL`MessageLoop::RunInternal(this=0x0000000137980280) + 117 at message_loop.cc:233 frame #12: 0x0000000103d22d45 XUL`MessageLoop::RunHandler(this=0x0000000137980280) + 21 at message_loop.cc:226 frame #13: 0x0000000103d22ced XUL`MessageLoop::Run(this=0x0000000137980280) + 45 at message_loop.cc:200 frame #14: 0x0000000103701cf6 XUL`nsThread::ThreadFunc(aArg=0x0000000141c6a4c0) + 358 at nsThread.cpp:356 frame #15: 0x0000000103371daf libnss3.dylib`_pt_root(arg=0x00000001234c08d0) + 463 at ptthread.c:212 frame #16: 0x00007fff94fec2fc libsystem_pthread.dylib`_pthread_body + 131 frame #17: 0x00007fff94fec279 libsystem_pthread.dylib`_pthread_start + 176 frame #18: 0x00007fff94fea4b1 libsystem_pthread.dylib`thread_start + 13
here mHaveConsumer = true and IsExclusive = true. I had another one after leaving nightly idle for almost an hour (playing an hour long video) this on in RequestVideoData all the other happened in DecodeAudio (lldb) bt * thread #193: tid = 0x5d5156, 0x00000001062f6494 XUL`void mozilla::MediaPromise<nsRefPtr<mozilla::VideoData>, mozilla::MediaDecoderReader::NotDecodedReason, true>::Then<mozilla::MediaTaskQueue, mozilla::MediaSourceReader, void (this=0x000000012b203190, aResponseTarget=0x000000012e82dcc0, aCallSite=0x00000001098f65d6, aThisVal=0x000000012e105400, aResolveMethod=0x00000001062e9940, aRejectMethod=0x00000001062e9b70)(mozilla::VideoData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)>(mozilla::MediaTaskQueue*, char const*, mozilla::MediaSourceReader*, void (mozilla::MediaSourceReader::*)(mozilla::VideoData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)) + 212 at MediaPromise.h:248, name = 'Media Decode #3', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x00000001062f6494 XUL`void mozilla::MediaPromise<nsRefPtr<mozilla::VideoData>, mozilla::MediaDecoderReader::NotDecodedReason, true>::Then<mozilla::MediaTaskQueue, mozilla::MediaSourceReader, void (this=0x000000012b203190, aResponseTarget=0x000000012e82dcc0, aCallSite=0x00000001098f65d6, aThisVal=0x000000012e105400, aResolveMethod=0x00000001062e9940, aRejectMethod=0x00000001062e9b70)(mozilla::VideoData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)>(mozilla::MediaTaskQueue*, char const*, mozilla::MediaSourceReader*, void (mozilla::MediaSourceReader::*)(mozilla::VideoData*), void (mozilla::MediaSourceReader::*)(mozilla::MediaDecoderReader::NotDecodedReason)) + 212 at MediaPromise.h:248 frame #1: 0x00000001062e95dc XUL`mozilla::MediaSourceReader::RequestVideoData(this=0x000000012e105400, aSkipToNextKeyframe=false, aTimeThreshold=0) + 1116 at MediaSourceReader.cpp:276 frame #2: 0x00000001061f64d1 XUL`mozilla::MediaDecoderStateMachine::DecodeVideo(this=0x000000012e108400) + 737 at MediaDecoderStateMachine.cpp:689 frame #3: 0x00000001062578fe XUL`nsRunnableMethodImpl<void (this=0x000000012ed17c40)(), void, true>::Run() + 190 at nsThreadUtils.h:386 frame #4: 0x0000000106223719 XUL`mozilla::MediaTaskQueue::Runner::Run(this=0x00000001297af320) + 633 at MediaTaskQueue.cpp:230 frame #5: 0x0000000103707067 XUL`nsThreadPool::Run(this=0x000000012aa34060) + 967 at nsThreadPool.cpp:225 frame #6: 0x000000010370715c XUL`non-virtual thunk to nsThreadPool::Run(this=0x000000012aa34068) + 28 at nsThreadPool.cpp:239 frame #7: 0x0000000103703ac8 XUL`nsThread::ProcessNextEvent(this=0x000000012fd404c0, aMayWait=false, aResult=0x0000000141d40c4e) + 2088 at nsThread.cpp:855 frame #8: 0x000000010375daa7 XUL`NS_ProcessNextEvent(aThread=0x000000012fd404c0, aMayWait=false) + 151 at nsThreadUtils.cpp:265 frame #9: 0x0000000103d8da03 XUL`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x00000001405fea00, aDelegate=0x0000000130a7c410) + 691 at MessagePump.cpp:339 frame #10: 0x0000000103d23095 XUL`MessageLoop::RunInternal(this=0x0000000130a7c410) + 117 at message_loop.cc:233 frame #11: 0x0000000103d22fa5 XUL`MessageLoop::RunHandler(this=0x0000000130a7c410) + 21 at message_loop.cc:226 frame #12: 0x0000000103d22f4d XUL`MessageLoop::Run(this=0x0000000130a7c410) + 45 at message_loop.cc:200 frame #13: 0x0000000103701f56 XUL`nsThread::ThreadFunc(aArg=0x000000012fd404c0) + 358 at nsThread.cpp:356 frame #14: 0x0000000103371daf libnss3.dylib`_pt_root(arg=0x000000012fce0370) + 463 at ptthread.c:212 frame #15: 0x00007fff94fec2fc libsystem_pthread.dylib`_pthread_body + 131 frame #16: 0x00007fff94fec279 libsystem_pthread.dylib`_pthread_start + 176 frame #17: 0x00007fff94fea4b1 libsystem_pthread.dylib`thread_start + 13 (lldb)
Blocks: 1123983
Priority: -- → P1
I haven't been able to reproduce. NI jya for a log.
Flags: needinfo?(jyavenard)
Attached file log3.txt
this is the last log of when I had it happened. Unfortunately, my level of verbosity at the time wasn't what you would have wanted
Flags: needinfo?(jyavenard)
Attached file log2.txt
an earlier one
Attached file log1.txt
and another
Blocks: 1123923
Oh. Duh.
Assignee: nobody → bobbyholley
Comment on attachment 8554726 [details] [diff] [review] Set request status to Pending in the special DecodeFirstFrame calls too. v1 Review of attachment 8554726 [details] [diff] [review]: ----------------------------------------------------------------- I wish we had a way to automatically ensure this pending state was set or inferred correctly; we just got bitten by it in bug 1125472.
Attachment #8554726 - Flags: review?(cpearce) → review+
(In reply to Bobby Holley (Busy with media, don't ask for DOM/JS/XPConnect things) from comment #9) > https://treeherder.mozilla.org/#/jobs?repo=try&revision=dbf79801f4de At least one set of media tests have come back green, and everything else seems pretty backlogged. Given how safe this patch is I'm just canceling the rest of the try push and pushing to inbound: https://hg.mozilla.org/integration/mozilla-inbound/rev/139b3e52f9fe
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Comment on attachment 8554726 [details] [diff] [review] Set request status to Pending in the special DecodeFirstFrame calls too. v1 Approval Request Comment [Feature/regressing bug #]: MSE [User impact if declined]: Possible video playback stalls or crashes. [Describe test coverage new/current, TreeHerder]: Landed on m-c. [Risks and why]: This affects all media playback, but is a small and isolated fix. I'd say risk is low. [String/UUID change made/needed]: None.
Attachment #8554726 - Flags: approval-mozilla-beta?
Attachment #8554726 - Flags: approval-mozilla-aurora?
Attachment #8554726 - Flags: approval-mozilla-beta?
Attachment #8554726 - Flags: approval-mozilla-beta+
Attachment #8554726 - Flags: approval-mozilla-aurora?
Attachment #8554726 - Flags: approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: