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)
Tracking
()
RESOLVED
FIXED
mozilla38
People
(Reporter: jya, Assigned: bholley)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
135.85 KB,
text/plain
|
Details | |
46.33 KB,
text/plain
|
Details | |
35.44 KB,
text/plain
|
Details | |
31.82 KB,
text/plain
|
Details | |
1.57 KB,
patch
|
cpearce
:
review+
Sylvestre
:
approval-mozilla-aurora+
Sylvestre
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
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
Reporter | ||
Comment 1•10 years ago
|
||
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)
Assignee | ||
Updated•10 years ago
|
Priority: -- → P1
Assignee | ||
Comment 2•10 years ago
|
||
I haven't been able to reproduce. NI jya for a log.
Flags: needinfo?(jyavenard)
Reporter | ||
Comment 3•10 years ago
|
||
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)
Reporter | ||
Comment 4•10 years ago
|
||
an earlier one
Reporter | ||
Comment 5•10 years ago
|
||
and another
Assignee | ||
Comment 7•10 years ago
|
||
Attachment #8554726 -
Flags: review?(cpearce)
Comment 8•10 years ago
|
||
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+
Assignee | ||
Comment 9•10 years ago
|
||
Assignee | ||
Comment 10•10 years ago
|
||
(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
Comment 11•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Comment 12•10 years ago
|
||
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?
Updated•10 years ago
|
Updated•10 years ago
|
Attachment #8554726 -
Flags: approval-mozilla-beta?
Attachment #8554726 -
Flags: approval-mozilla-beta+
Attachment #8554726 -
Flags: approval-mozilla-aurora?
Attachment #8554726 -
Flags: approval-mozilla-aurora+
Comment 13•10 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•