Assert mMutex.AssertCurrentThreadOwns(); in MoofParser

RESOLVED FIXED in Firefox 36

Status

()

RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: jya, Assigned: jya)

Tracking

(Blocks: 1 bug)

Trunk
mozilla37
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox36 fixed, firefox37 fixed)

Details

Attachments

(2 attachments)

(Assignee)

Description

4 years ago
Posted file backtrace
Crash in thread #95
MoofParser.h:206
mp4_demuxer::MoofParser::Moofs()
  nsTArray<Moof>& Moofs() { mMonitor->AssertCurrentThreadOwns(); return mMoofs; }
(Assignee)

Comment 1

4 years ago
minimal backtrace:
(lldb) bt
* thread #95: tid = 0x97ac, 0x00007fff93b86282 libsystem_kernel.dylib`__pthread_kill + 10, name = 'Media Decode #2', stop reason = signal SIGABRT
    frame #0: 0x00007fff93b86282 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff8ea2d4c3 libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fff8b1b2b73 libsystem_c.dylib`abort + 129
    frame #3: 0x0000000103b3c46d libnss3.dylib`PR_Assert(s=0x0000000103bb025f, file=0x0000000103bb0143, ln=226) + 109 at prlog.c:554
    frame #4: 0x0000000103b6c8d8 libnss3.dylib`PR_AssertCurrentThreadOwnsLock(lock=0x00000001367fda40) + 104 at ptsynch.c:226
    frame #5: 0x0000000103dc3b39 XUL`mozilla::OffTheBooksMutex::AssertCurrentThreadOwns(this=0x00000001218793d0) const + 25 at Mutex.h:95
    frame #6: 0x0000000103dc3b15 XUL`mozilla::Monitor::AssertCurrentThreadOwns(this=0x00000001218793d0) const + 21 at Monitor.h:48
  * frame #7: 0x0000000103db24b0 XUL`mp4_demuxer::MoofParser::Moofs(this=0x000000012ac20600) + 32 at MoofParser.h:206
    frame #8: 0x0000000103d98f2f XUL`mp4_demuxer::SampleIterator::Get(this=0x00000001324fd8a0) + 95 at Index.cpp:143
    frame #9: 0x0000000103d99331 XUL`mp4_demuxer::SampleIterator::Seek(this=0x00000001324fd8a0, aTime=0) + 65 at Index.cpp:172
    frame #10: 0x0000000103d9d44d XUL`mp4_demuxer::MP4Demuxer::SeekVideo(this=0x0000000130a5ce80, aTime=0) + 109 at mp4_demuxer.cpp:177
    frame #11: 0x0000000106a9e0c4 XUL`mozilla::MP4Reader::ResetDecode(this=0x0000000121879000) + 164 at MP4Reader.cpp:675
    frame #12: 0x000000010691060a XUL`nsRunnableMethodImpl<tag_nsresult (this=0x0000000100703190)(), void, true>::Run() + 154 at nsThreadUtils.h:388
    frame #13: 0x00000001068ecf19 XUL`mozilla::MediaTaskQueue::Runner::Run(this=0x000000011883b240) + 633 at MediaTaskQueue.cpp:230
    frame #14: 0x0000000103f05107 XUL`nsThreadPool::Run(this=0x0000000121eaf480) + 967 at nsThreadPool.cpp:225
    frame #15: 0x0000000103f051fc XUL`non-virtual thunk to nsThreadPool::Run(this=0x0000000121eaf488) + 28 at nsThreadPool.cpp:239
    frame #16: 0x0000000103f01b68 XUL`nsThread::ProcessNextEvent(this=0x0000000137b286b0, aMayWait=false, aResult=0x0000000138d83c4e) + 2088 at nsThread.cpp:855
    frame #17: 0x0000000103f5add7 XUL`NS_ProcessNextEvent(aThread=0x0000000137b286b0, aMayWait=false) + 151 at nsThreadUtils.cpp:265
    frame #18: 0x00000001045852f3 XUL`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x00000001293d6d00, aDelegate=0x00000001324295e0) + 691 at MessagePump.cpp:339
    frame #19: 0x000000010451c775 XUL`MessageLoop::RunInternal(this=0x00000001324295e0) + 117 at message_loop.cc:233
    frame #20: 0x000000010451c685 XUL`MessageLoop::RunHandler(this=0x00000001324295e0) + 21 at message_loop.cc:226
    frame #21: 0x000000010451c62d XUL`MessageLoop::Run(this=0x00000001324295e0) + 45 at message_loop.cc:200
    frame #22: 0x0000000103effff6 XUL`nsThread::ThreadFunc(aArg=0x0000000137b286b0) + 358 at nsThread.cpp:356
    frame #23: 0x0000000103b71cff libnss3.dylib`_pt_root(arg=0x0000000130d8f670) + 463 at ptthread.c:212
    frame #24: 0x00007fff8ea2b2fc libsystem_pthread.dylib`_pthread_body + 131
    frame #25: 0x00007fff8ea2b279 libsystem_pthread.dylib`_pthread_start + 176
    frame #26: 0x00007fff8ea294b1 libsystem_pthread.dylib`thread_start + 13
(lldb)
(Assignee)

Comment 2

4 years ago
Hold lock while resetting
Attachment #8540490 - Flags: review?(ajones)
(Assignee)

Updated

4 years ago
Assignee: nobody → jyavenard
Status: NEW → ASSIGNED
Attachment #8540490 - Flags: review?(ajones) → review+
https://hg.mozilla.org/mozilla-central/rev/794162dbfad7
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Comment on attachment 8540490 [details] [diff] [review]
MP4: Hold demuxer monitor while resetting

Approval Request Comment
[Feature/regressing bug #]: MSE
[User impact if declined]: Less consistent testing, sites more likely to serve flash video.
[Describe test coverage new/current, TBPL]: Landed on m-c.
[Risks and why]: Low. This change is MSE-specific.
[String/UUID change made/needed]: None.
Attachment #8540490 - Flags: approval-mozilla-aurora?
status-firefox36: --- → affected
status-firefox37: --- → fixed
Attachment #8540490 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.