Closed
Bug 1174120
Opened 11 years ago
Closed 10 years ago
Crash in MediaDecoderReader::SetDuration()
Categories
(Core :: Audio/Video: Playback, defect)
Core
Audio/Video: Playback
Tracking
()
RESOLVED
WORKSFORME
| Tracking | Status | |
|---|---|---|
| firefox41 | --- | affected |
People
(Reporter: jya, Unassigned)
References
Details
(lldb) bt
* thread #101: tid = 0x23e5f72, 0x000000010657b59b XUL`mozilla::MediaDecoderReader::SetStartTime(this=0x00000001324e5000, aStartTime=0) + 27 at MediaDecoderReader.cpp:150, name = 'MediaPl~back #3', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0: 0x000000010657b59b XUL`mozilla::MediaDecoderReader::SetStartTime(this=0x00000001324e5000, aStartTime=0) + 27 at MediaDecoderReader.cpp:150
frame #1: 0x000000010658732b XUL`mozilla::MediaDecoderStateMachine::SetStartTime(this=0x000000012b5d6000, aStartTimeUsecs=0) + 331 at MediaDecoderStateMachine.cpp:3156
frame #2: 0x0000000106587154 XUL`mozilla::MediaDecoderStateMachine::SetDuration(this=0x000000012b5d6000, aDuration=TimeUnit at 0x00000001480f45a0) + 292 at MediaDecoderStateMachine.cpp:1457
frame #3: 0x000000010657e2cb XUL`mozilla::MediaDecoderStateMachine::RecomputeDuration(this=0x000000012b5d6000) + 907 at MediaDecoderStateMachine.cpp:1440
frame #4: 0x0000000106612f00 XUL`mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::PerCallbackWatcher::DoNotify(this=0x000000012b3e9700) + 400 at StateWatching.h:276
frame #5: 0x0000000106613633 XUL`void nsRunnableMethodArguments<>::apply<mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::PerCallbackWatcher, void (this=0x000000012304e3f0, o=0x000000012b3e9700, m=0x0000000106612d70)()>(mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::PerCallbackWatcher*, void (mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::PerCallbackWatcher::*)()) + 131 at nsThreadUtils.h:618
frame #6: 0x000000010661332c XUL`nsRunnableMethodImpl<void (mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::PerCallbackWatcher::*)(), true>::Run(this=0x000000012304e3c0) + 140 at nsThreadUtils.h:825
frame #7: 0x000000010655c8f7 XUL`mozilla::AutoTaskDispatcher::DrainDirectTasks(this=0x00000001480f48b8) + 119 at TaskDispatcher.h:101
frame #8: 0x000000010655e449 XUL`mozilla::AutoTaskDispatcher::TaskGroupRunnable::MaybeDrainDirectTasks(this=0x0000000121b98b80) + 57 at TaskDispatcher.h:188
frame #9: 0x000000010655e355 XUL`mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run(this=0x0000000121b98b80) + 293 at TaskDispatcher.h:177
frame #10: 0x000000010666831f XUL`mozilla::MediaTaskQueue::Runner::Run(this=0x0000000121b98f80) + 623 at MediaTaskQueue.cpp:257
frame #11: 0x000000010371e7b8 XUL`nsThreadPool::Run(this=0x0000000130e73950) + 984 at nsThreadPool.cpp:221
frame #12: 0x000000010371e8bc XUL`non-virtual thunk to nsThreadPool::Run(this=0x0000000130e73958) + 28 at nsThreadPool.cpp:235
frame #13: 0x000000010371b2b4 XUL`nsThread::ProcessNextEvent(this=0x000000013083cf10, aMayWait=false, aResult=0x00000001480f4c5e) + 2068 at nsThread.cpp:846
frame #14: 0x0000000103791817 XUL`NS_ProcessNextEvent(aThread=0x000000013083cf10, aMayWait=false) + 151 at nsThreadUtils.cpp:265
frame #15: 0x0000000103dc0590 XUL`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x00000001331bb740, aDelegate=0x000000012ad04bb0) + 656 at MessagePump.cpp:326
frame #16: 0x0000000103d347c5 XUL`MessageLoop::RunInternal(this=0x000000012ad04bb0) + 117 at message_loop.cc:233
frame #17: 0x0000000103d346d5 XUL`MessageLoop::RunHandler(this=0x000000012ad04bb0) + 21 at message_loop.cc:226
frame #18: 0x0000000103d3467d XUL`MessageLoop::Run(this=0x000000012ad04bb0) + 45 at message_loop.cc:200
frame #19: 0x00000001037197d9 XUL`nsThread::ThreadFunc(aArg=0x000000013083cf10) + 329 at nsThread.cpp:359
frame #20: 0x0000000103371621 libnss3.dylib`_pt_root(arg=0x00000001360efec0) + 449 at ptthread.c:212
frame #21: 0x00007fff8944a268 libsystem_pthread.dylib`_pthread_body + 131
frame #22: 0x00007fff8944a1e5 libsystem_pthread.dylib`_pthread_start + 176
frame #23: 0x00007fff8944841d libsystem_pthread.dylib`thread_start + 13
(lldb) print mShutdown
(bool) $1 = true
We have mDecoder == true.
Occurred to me twice running the youtube MSE conformance test (test 21: Duration).
Seems like the watcher can kick in after the reader has been shutdown.
Comment 1•11 years ago
|
||
(In reply to Jean-Yves Avenard [:jya] from comment #0)
> (lldb) bt
> * thread #101: tid = 0x23e5f72, 0x000000010657b59b
> XUL`mozilla::MediaDecoderReader::SetStartTime(this=0x00000001324e5000,
> aStartTime=0) + 27 at MediaDecoderReader.cpp:150, name = 'MediaPl~back #3',
> stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
> * frame #0: 0x000000010657b59b
> XUL`mozilla::MediaDecoderReader::SetStartTime(this=0x00000001324e5000,
> aStartTime=0) + 27 at MediaDecoderReader.cpp:150
> frame #1: 0x000000010658732b
> XUL`mozilla::MediaDecoderStateMachine::SetStartTime(this=0x000000012b5d6000,
> aStartTimeUsecs=0) + 331 at MediaDecoderStateMachine.cpp:3156
> frame #2: 0x0000000106587154
> XUL`mozilla::MediaDecoderStateMachine::SetDuration(this=0x000000012b5d6000,
> aDuration=TimeUnit at 0x00000001480f45a0) + 292 at
> MediaDecoderStateMachine.cpp:1457
> frame #3: 0x000000010657e2cb
> XUL`mozilla::MediaDecoderStateMachine::
> RecomputeDuration(this=0x000000012b5d6000) + 907 at
> MediaDecoderStateMachine.cpp:1440
> frame #4: 0x0000000106612f00
> XUL`mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::
> PerCallbackWatcher::DoNotify(this=0x000000012b3e9700) + 400 at
> StateWatching.h:276
> frame #5: 0x0000000106613633 XUL`void
> nsRunnableMethodArguments<>::apply<mozilla::WatchManager<mozilla::
> MediaDecoderStateMachine>::PerCallbackWatcher, void
> (this=0x000000012304e3f0, o=0x000000012b3e9700,
> m=0x0000000106612d70)()>(mozilla::WatchManager<mozilla::
> MediaDecoderStateMachine>::PerCallbackWatcher*, void
> (mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::
> PerCallbackWatcher::*)()) + 131 at nsThreadUtils.h:618
> frame #6: 0x000000010661332c XUL`nsRunnableMethodImpl<void
> (mozilla::WatchManager<mozilla::MediaDecoderStateMachine>::
> PerCallbackWatcher::*)(), true>::Run(this=0x000000012304e3c0) + 140 at
> nsThreadUtils.h:825
> frame #7: 0x000000010655c8f7
> XUL`mozilla::AutoTaskDispatcher::DrainDirectTasks(this=0x00000001480f48b8) +
> 119 at TaskDispatcher.h:101
> frame #8: 0x000000010655e449
> XUL`mozilla::AutoTaskDispatcher::TaskGroupRunnable::
> MaybeDrainDirectTasks(this=0x0000000121b98b80) + 57 at TaskDispatcher.h:188
> frame #9: 0x000000010655e355
> XUL`mozilla::AutoTaskDispatcher::TaskGroupRunnable::
> Run(this=0x0000000121b98b80) + 293 at TaskDispatcher.h:177
> frame #10: 0x000000010666831f
> XUL`mozilla::MediaTaskQueue::Runner::Run(this=0x0000000121b98f80) + 623 at
> MediaTaskQueue.cpp:257
> frame #11: 0x000000010371e7b8
> XUL`nsThreadPool::Run(this=0x0000000130e73950) + 984 at nsThreadPool.cpp:221
> frame #12: 0x000000010371e8bc XUL`non-virtual thunk to
> nsThreadPool::Run(this=0x0000000130e73958) + 28 at nsThreadPool.cpp:235
> frame #13: 0x000000010371b2b4
> XUL`nsThread::ProcessNextEvent(this=0x000000013083cf10, aMayWait=false,
> aResult=0x00000001480f4c5e) + 2068 at nsThread.cpp:846
> frame #14: 0x0000000103791817
> XUL`NS_ProcessNextEvent(aThread=0x000000013083cf10, aMayWait=false) + 151 at
> nsThreadUtils.cpp:265
> frame #15: 0x0000000103dc0590
> XUL`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x00000001331bb740,
> aDelegate=0x000000012ad04bb0) + 656 at MessagePump.cpp:326
> frame #16: 0x0000000103d347c5
> XUL`MessageLoop::RunInternal(this=0x000000012ad04bb0) + 117 at
> message_loop.cc:233
> frame #17: 0x0000000103d346d5
> XUL`MessageLoop::RunHandler(this=0x000000012ad04bb0) + 21 at
> message_loop.cc:226
> frame #18: 0x0000000103d3467d
> XUL`MessageLoop::Run(this=0x000000012ad04bb0) + 45 at message_loop.cc:200
> frame #19: 0x00000001037197d9
> XUL`nsThread::ThreadFunc(aArg=0x000000013083cf10) + 329 at nsThread.cpp:359
> frame #20: 0x0000000103371621
> libnss3.dylib`_pt_root(arg=0x00000001360efec0) + 449 at ptthread.c:212
> frame #21: 0x00007fff8944a268 libsystem_pthread.dylib`_pthread_body + 131
> frame #22: 0x00007fff8944a1e5 libsystem_pthread.dylib`_pthread_start +
> 176
> frame #23: 0x00007fff8944841d libsystem_pthread.dylib`thread_start + 13
>
> (lldb) print mShutdown
> (bool) $1 = true
>
> We have mDecoder == true.
>
> Occurred to me twice running the youtube MSE conformance test (test 21:
> Duration).
>
> Seems like the watcher can kick in after the reader has been shutdown.
I believe bug 1163223 should fix this.
Depends on: 1163223
Updated•10 years ago
|
Component: Audio/Video → Audio/Video: Playback
Comment 2•10 years ago
|
||
Can we close this?
| Reporter | ||
Comment 3•10 years ago
|
||
yes, this method no longer exist and old MSE was removed
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•