Closed
Bug 1174387
Opened 10 years ago
Closed 10 years ago
GMP crash in mozilla::SharedDecoderCallback::AssertHaveActiveProxy()
Categories
(Core :: Audio/Video, defect, P1)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox39 | --- | unaffected |
firefox40 | --- | unaffected |
firefox41 | --- | affected |
firefox42 | --- | verified |
firefox43 | --- | verified |
People
(Reporter: cpeterson, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: crash)
Crash Data
I hit this crash twice while watching Netflix using EME on Windows 8.1 (VM):
bp-5464eab5-1f56-43ae-ab6a-fe6942150613
bp-5ba596a6-1684-48d8-a76a-4f9e42150613
Frame Module Signature Source
0 xul.dll mozilla::SharedDecoderCallback::AssertHaveActiveProxy() dom/media/platforms/SharedDecoderManager.cpp
1 xul.dll mozilla::SharedDecoderCallback::DrainComplete() dom/media/platforms/SharedDecoderManager.cpp
2 xul.dll mozilla::gmp::GMPVideoDecoderParent::RecvDrainComplete() dom/media/gmp/GMPVideoDecoderParent.cpp
3 xul.dll mozilla::gmp::PGMPVideoDecoderParent::OnMessageReceived(IPC::Message const&) obj-firefox/ipc/ipdl/PGMPVideoDecoderParent.cpp
4 xul.dll mozilla::gmp::PGMPContentParent::OnMessageReceived(IPC::Message const&) obj-firefox/ipc/ipdl/PGMPContentParent.cpp
5 xul.dll mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) ipc/glue/MessageChannel.cpp
6 xul.dll mozilla::ipc::MessageChannel::OnMaybeDequeueOne() ipc/glue/MessageChannel.cpp
7 xul.dll MessageLoop::DoWork() ipc/chromium/src/base/message_loop.cc
8 xul.dll mozilla::ipc::DoWorkRunnable::Run() ipc/glue/MessagePump.cpp
9 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp
10 xul.dll NS_ProcessNextEvent(nsIThread*, bool) xpcom/glue/nsThreadUtils.cpp
11 xul.dll mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp
12 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc
13 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc
14 xul.dll nsThread::ThreadFunc(void*) xpcom/threads/nsThread.cpp
15 nss3.dll _PR_NativeRunThread nsprpub/pr/src/threads/combined/pruthr.c
16 nss3.dll pr_root nsprpub/pr/src/md/windows/w95thred.c
17 msvcr120.dll _callthreadstartex f:\dd\vctools\crt\crtw32\startup\threadex.c:376
18 msvcr120.dll msvcr120.dll@0x2c000
19 kernel32.dll BaseThreadInitThunk
20 ntdll.dll __RtlUserThreadStart
21 ntdll.dll _RtlUserThreadStart
Reporter | ||
Comment 1•10 years ago
|
||
crashed while seeking ahead in a Netflix video:
bp-6be2963e-82a2-4b60-8559-3e8832150613
Reporter | ||
Comment 2•10 years ago
|
||
cpearce, I can hit this crash when seeking on Windows 10 pretty easily. I was testing a different bug toggling the "Play DRM Content" checkbox while a video was playing (and then I seeked). I don't know if that is related.
bp-da91812f-27f3-4a9b-ac0d-713002150710
bp-234a9601-bc2a-4727-a3f0-6ed8f2150710
bp-d7af7226-c585-44a1-92a3-2b5e62150710
status-firefox42:
--- → affected
Flags: needinfo?(cpearce)
Comment 3•10 years ago
|
||
This code is supposed to be going away when jya enables the new MSE code. The assertion should not be compiled into Beta and Release builds, so it should only be an issue for Nigthly and Aurora testers.
So I propose we don't do anything about this, and wait for jya's new MSE code to fix this.
At most, we could just remove the assertion.
jya: Does it make sense to remove this assertion? It's blocking our EME testers.
Flags: needinfo?(cpearce) → needinfo?(jyavenard)
Reporter | ||
Updated•10 years ago
|
status-firefox39:
--- → unaffected
status-firefox40:
--- → unaffected
Comment 4•10 years ago
|
||
(In reply to Chris Pearce (:cpearce) from comment #3)
> jya: Does it make sense to remove this assertion? It's blocking our EME
> testers.
I don't know.
If we do, then the question becomes if SharedDecoderManager::mActiveProxy isn't the right one, will SharedDecoderManager::mActiveCallback be set ?
otherwise you get a null deref.
Anthony's should know more.
Flags: needinfo?(jyavenard) → needinfo?(ajones)
Comment 5•10 years ago
|
||
The other thing is that if we have called Drain on the MediaDataDecoder, if mActiveProxy isn't set then the owning MediaDecoderReader (either MP4Reader or MediaFormatReader) won't receive DrainComplete which could lead to a stall elsewhere.
Comment 6•10 years ago
|
||
(In reply to Jean-Yves Avenard [:jya] from comment #4)
> Anthony's should know more.
I don't know. A lot of fingers have been on that code since I worked on it.
Flags: needinfo?(ajones)
Reporter | ||
Comment 7•10 years ago
|
||
As expected, I can no longer repro in Nightly 43 or Aurora 42.
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox43:
--- → verified
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•