Closed Bug 1268694 Opened 8 years ago Closed 8 years ago

Widevine crash in mozilla::CDMCaps::AutoLock::AutoLock when using DASH.js player

Categories

(Core :: Audio/Video: Playback, defect, P2)

Unspecified
macOS
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox46 --- unaffected
firefox47 --- ?
firefox48 --- ?
firefox49 --- affected

People

(Reporter: cpeterson, Assigned: jwwang)

References

Details

(Keywords: crash)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-0c75d880-35cc-4d40-9481-aa97d2160428.
=============================================================

I hit this crash when trying to play MPD http://html5.cablelabs.com:8100/cenc/wv/dash.mpd (accessible from the DASH player's menu: Sample Streams > CableLabs Test Content > CableLabs Cenc Widevine) on DASH.js player http://dashif.org/reference/players/javascript/v2.1.1/samples/dash-if-reference-player/index.html.

0 	XUL 	mozilla::CDMCaps::AutoLock::AutoLock(mozilla::CDMCaps&) 	xpcom/glue/Mutex.h
1 	XUL 	mozilla::MediaDecoder::SetCDMProxy(mozilla::CDMProxy*) 	dom/media/MediaDecoder.cpp
2 	XUL 	mozilla::dom::HTMLMediaElement::FinishDecoderSetup(mozilla::MediaDecoder*, mozilla::MediaResource*, nsIStreamListener**) 	dom/html/HTMLMediaElement.cpp
3 	XUL 	mozilla::dom::HTMLMediaElement::LoadResource() 	dom/html/HTMLMediaElement.cpp
4 	XUL 	mozilla::dom::HTMLMediaElement::SelectResource() 	dom/html/HTMLMediaElement.cpp
5 	XUL 	mozilla::dom::HTMLMediaElement::SelectResourceWrapper() 	dom/html/HTMLMediaElement.cpp
6 	XUL 	nsRunnableMethodImpl<void (mozilla::dom::HTMLMediaElement::*)(), true>::Run 	xpcom/glue/nsThreadUtils.h
7 	XUL 	mozilla::dom::nsSyncSection::Run() 	dom/html/HTMLMediaElement.cpp
8 	XUL 	mozilla::CycleCollectedJSRuntime::ProcessStableStateQueue() 	xpcom/base/CycleCollectedJSRuntime.cpp
9 	XUL 	XPCJSRuntime::AfterProcessTask(unsigned int) 	js/xpconnect/src/XPCJSRuntime.cpp
10 	XUL 	nsThread::ProcessNextEvent(bool, bool*) 	xpcom/threads/nsThread.cpp
11 	XUL 	NS_ProcessPendingEvents(nsIThread*, unsigned int) 	xpcom/glue/nsThreadUtils.cpp
12 	XUL 	nsBaseAppShell::NativeEventCallback() 	widget/nsBaseAppShell.cpp
13 	XUL 	nsAppShell::ProcessGeckoEvents(void*) 	widget/cocoa/nsAppShell.mm
Summary: Widevine crash in mozilla::CDMCaps::AutoLock::AutoLock → Widevine crash in mozilla::CDMCaps::AutoLock::AutoLock when using DASH.js player
Blake, can an engineer on your team investigate this Widevine crash? We're encouraging video streaming services to switch from Silverlight to Widevine in Firefox 47. The crash is 100% reproducible with the steps in comment 0.
Flags: needinfo?(bwu)
I will take a look.
Assignee: nobody → jwwang
Flags: needinfo?(bwu)
Can't repro the crash on my MBP nightly.

I can play Sample Streams > CableLabs Test Content > CableLabs Cenc Widevine/ClearKey without any problem.
However, CableLabs Cenc Widevine didn't crash nor did it play at all.

Did I miss some setup for Widevine to play correctly?
Flags: needinfo?(cpeterson)
Thanks for testing. I can no longer reproduce this crash, so I'm not sure what changed. I'll resolve this bug as WFM for now and retest later.
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(cpeterson)
Resolution: --- → WORKSFORME
There is definitely some shutdown race condition that leads to some null pointer crashes in our Widevine code. I hit the following crashes (once each) when clicking the DASH.js player's "Load" button a couple times to reload the "CableLabs Cenc Widevine" manifest. When the crash happens, it always seems to happen within the first 1–2 button clicks.

[@ non-virtual thunk to mozilla::WidevineDecryptor::OnSessionClosed ]
bp-dcc4aefa-c837-490a-b026-aadbc2160505

[@ mozilla::SamplesWaitingForKey::WaitIfKeyNotUsable ]
bp-21904d1c-73aa-4ceb-b8f0-38dd82160505

I filed bug 1270607 for the WaitIfKeyNotUsable crash because there are 15 crash reports and most are from Amazon Video.
See Also: → 1270607
See Also: → 1270689
You need to log in before you can comment on or make changes to this bug.