Widevine CDM: MediaKeySystemAccess.createMediaKeys returns a promise that doesn't resolve

RESOLVED WORKSFORME

Status

()

Core
Audio/Video: Playback
P1
normal
RESOLVED WORKSFORME
2 years ago
7 months ago

People

(Reporter: AlexKarlovich, Assigned: cpearce)

Tracking

(Blocks: 1 bug)

47 Branch
Unspecified
Windows
Points:
---

Firefox Tracking Flags

(firefox47 affected, firefox48 ?, firefox49 ?, firefox50 affected)

Details

Attachments

(1 attachment)

(Reporter)

Description

2 years ago
Created attachment 8770732 [details]
widevine-cdm-test.html

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36

Steps to reproduce:

Open site with CENC DASH video streaming via Widevine CDM, and web player hanging indefinitely. 


Actual results:

On some windows machines (Win7, Win10) the MediaKeySystemAccess.createMediaKeys() method returns a Promise that never resolved (not succeed, not failed). Hanging indefinitely. 

Exact config settings for navigator.requestMediaKeySystemAccess attached.

So, Netflix site has no playback in FF47 too.

WidevineCDM version is 1.4.8.866


Expected results:

The MediaKeySystemAccess.createMediaKeys() method should return a Promise that resolves to a new MediaKeys object.
(Reporter)

Comment 1

2 years ago
The same config (https://bug1286685.bmoattachments.org/attachment.cgi?id=8770732) works fine in Chrome & returns "Created cdm."
(Reporter)

Comment 2

2 years ago
Firefox Nightly (50.0a1 2016-07-13) returns:
Failed to created cdm; InvalidStateError: GetGMPDecryptor failed to return a CDM

"The WidevineCDM plugin has crashed"

Updated

2 years ago
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Chris - do you want this one?
Flags: needinfo?(cpearce)
From Alex's Shaka bug report on GitHub, the problem seems to only affect Windows (but not all Windows machines). The test works for me on my Windows 10 VM.

https://github.com/google/shaka-player/issues/452#issue-167060344

Could this be related to the "Gave up while waiting for a CDM update" errors reported by Netflix?
Assignee: nobody → cpearce
Blocks: 1222845
status-firefox47: --- → affected
status-firefox48: --- → ?
status-firefox49: --- → ?
status-firefox50: --- → affected
OS: Unspecified → Windows
Priority: -- → P1
Summary: FIrefox 47.1 + WidevineCDM: MediaKeySystemAccess.createMediaKeys returns a promise that don't resolved → Widevine CDM: MediaKeySystemAccess.createMediaKeys returns a promise that doesn't resolve
(Assignee)

Comment 5

2 years ago
AlexKarlovich, thank you for reporting this bug. We want to fix it. Can you help us fix this bug by answering some questions?

On the machines that Widevine fails with "GetGMPDecryptor failed to return a CDM", can you please open about:crashes in the URL bar, and copy/paste the links there?

Often this failure happens when our security sandbox prevents the Widevine CDM from loading. Normally this happens when there's something about the system's configuration that we didn't anticipate.

Are the machines that this is failing on have their user home directories stored on a network drive?

Are the machines that this is failing on have their user home directories stored on a "mirror" or behind a Windows Junction point (which is basically equivalent to a symbolic link on UNIX)?

Are the machines that this is failing on have anti-virus or other security software installed?

How long are you waiting before concluding that the player has hung "indefinitely"? We reject the navigator.requestMediaKeySystemAccess() promise after 60 seconds automatically, so I'd not expect your player to hang "indefinitely". 60 seconds at most.

Thanks for your help debugging this Alex.
Flags: needinfo?(cpearce) → needinfo?(AlexKarlovich)
(Reporter)

Comment 6

2 years ago
(In reply to Chris Pearce (:cpearce) from comment #5)
> AlexKarlovich, thank you for reporting this bug. We want to fix it. Can you
> help us fix this bug by answering some questions?
> 
> On the machines that Widevine fails with "GetGMPDecryptor failed to return a
> CDM", can you please open about:crashes in the URL bar, and copy/paste the
> links there?
> 
> Often this failure happens when our security sandbox prevents the Widevine
> CDM from loading. Normally this happens when there's something about the
> system's configuration that we didn't anticipate.
> 
> Are the machines that this is failing on have their user home directories
> stored on a network drive?
> 
> Are the machines that this is failing on have their user home directories
> stored on a "mirror" or behind a Windows Junction point (which is basically
> equivalent to a symbolic link on UNIX)?
> 
> Are the machines that this is failing on have anti-virus or other security
> software installed?
> 
> How long are you waiting before concluding that the player has hung
> "indefinitely"? We reject the navigator.requestMediaKeySystemAccess()
> promise after 60 seconds automatically, so I'd not expect your player to
> hang "indefinitely". 60 seconds at most.
> 
> Thanks for your help debugging this Alex.

Hi Chris Pearce,

thanks a lot for your response,

please find answers below:

"On the machines that Widevine fails with "GetGMPDecryptor failed to return a CDM", can you please open about:crashes in the URL bar, and copy/paste the links there?"

FF 47.1 (Promise dont resolved at least 10 min)

Crash report:

https://crash-stats.mozilla.com/report/index/8cfe623d-d5a1-45e6-9cb6-d8e332160726



FF nightly 50.0a1 2016-07-25 (WidevineCDM crashed)

https://crash-stats.mozilla.com/report/index/7d31c9d0-f08f-448b-9343-71fba2160726


https://crash-stats.mozilla.com/report/index/c357c9bc-6251-4108-90f7-f76dd2160726


https://crash-stats.mozilla.com/report/index/e3dbec8d-57ae-4080-bc75-b5fd12160726


"Are the machines that this is failing on have their user home directories stored on a network drive?"

No, home user directories stored at my hard drive.

"Are the machines that this is failing on have their user home directories stored on a "mirror" or behind a Windows Junction point (which is basically equivalent to a symbolic link on UNIX)?"

No, user home directories stored as windows folder: "c:\Users\Aliaksandr_Karlovich\AppData\"


"How long are you waiting before concluding that the player has hung "indefinitely"? We reject the navigator.requestMediaKeySystemAccess() promise after 60 seconds automatically, so I'd not expect your player to hang "indefinitely". 60 seconds at most."

It is strange but really on my FF 47.1 promise hangs indefinitely, at least 20  minutes. So I think does not matter to wait more time. Crash report for this attached as https://crash-stats.mozilla.com/report/index/8cfe623d-d5a1-45e6-9cb6-d8e332160726
(Reporter)

Comment 7

2 years ago
Chris,

additional info that may be useful.

This script https://bug1288976.bmoattachments.org/attachment.cgi?id=8774157 returns the next result in my FF47.1: 
Got Widevine MediaKeySystemAccess
Got Adobe MediaKeySystemAccess

But in "about:crashes" I see two crash reports:

Process Type	plugin WidevineCdm Version: 1.4.8.866 Filename: widevinecdm
https://crash-stats.mozilla.com/report/index/429f5380-9508-4848-8290-4e3bb2160727

Process Type	plugin Primetime Content Decryption Module provided by Adobe Systems, Incorporated Version: 17 Filename: eme-adobe
https://crash-stats.mozilla.com/report/index/3c5f1174-f67f-4a81-b5a3-5c3c32160727
May be related to bug 1359108.
See Also: → bug 1359108
James,
Can you check if this is still a problem?
Flags: needinfo?(jacheng)
ok,
let me see what is this.
Flags: needinfo?(jacheng)
I don't think it is not a problem.

I've tested the attachment 8770732 [details] and it shows "Created cdm." as expected with my latest Nightly with CDM 1008 on Windows 10. 

I suggest you can close this issue.
Flags: needinfo?(bwu)
I close this issue since it WFM.

Feel free to reopen this if you can reproduce it by some certain scenario.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 7 months ago
Resolution: --- → WORKSFORME
Flags: needinfo?(bwu)
Flags: needinfo?(AlexKarlovich)
You need to log in before you can comment on or make changes to this bug.