Closed Bug 1174387 Opened 10 years ago Closed 10 years ago

GMP crash in mozilla::SharedDecoderCallback::AssertHaveActiveProxy()

Categories

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

x86
Windows NT
defect

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
crashed while seeking ahead in a Netflix video: bp-6be2963e-82a2-4b60-8559-3e8832150613
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
Flags: needinfo?(cpearce)
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)
(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)
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.
(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)
As expected, I can no longer repro in Nightly 43 or Aurora 42.
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.