[ARM64] Widevine plugin crashes on Netflix and Amazon Prime
Categories
(Core :: Audio/Video: Playback, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox69 | --- | unaffected |
firefox70 | --- | unaffected |
firefox71 | --- | disabled |
firefox72 | --- | verified |
People
(Reporter: tbabos, Assigned: bobowen)
References
(Regression)
Details
(Keywords: regression, regressionwindow-wanted)
Attachments
(3 files)
Affected versions
Nightly 71.0a1 (2019-09-11) (64-bit)
Affected platforms
ARM64 - Windows 10 - Lenovo Yoga laptop with Qualcom Adreno 630 GPU.
Driver version: 25.18.10440.0
Steps to reproduce
- Launch Firefox
- Log in to Netflix account
- Wait for Widevine to be installed
Expected result
Widevine should be installed on a new profile
Actual Result
Widevine plugin crashes and a black screen with an error is displayed, error code: F7702-1003. Check the attached screenshot.
Regression-Range
Beta70 and Release69 are not affected by this issue, seems to be a new regression.
Tried to mozregress this but I'm constantly having BSOD due to Bug 1548410 and can't find the range..
Reporter | ||
Comment 1•5 years ago
|
||
Same plugin crash happens on Amazon Prime too.
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 3•5 years ago
|
||
Timea, does it still happen on a recent Nightly build?
Reporter | ||
Comment 4•5 years ago
|
||
Yes, Widevine plugin still crashes on the latest Nightly (2019-10-09) on the Yoga laptops.
Comment 5•5 years ago
|
||
It also occurs on Spotify on Nightly v71.0a1 on Yoga.
Comment 6•5 years ago
|
||
It also occurs on HBO Go on Nightly v71.0a1 on Lenovo Yoga C630 13Q50, Windows 10 v1903 OS build 18362.418 and GPU driver 10.0.18362.1.
Comment 7•5 years ago
|
||
Nils, is that something we can fix before we ship 71?
Could you try testing with the GMP sandbox disabled and seeing if that has any impact?
The steps can be found here -- essentially set the environment variable MOZ_DISABLE_GMP_SANDBOX=1 before starting Firefox and then testing.
Comment 9•5 years ago
|
||
Hi, We tested this issue with the MOZ_DISABLE_GMP_SANDBOX=1 environment variable and its working this way. No Crashes, the Netflix videos play without issues.
Thanks for checking, that's useful to know.
Bob, given comment 9, do you have any suggestions as to how we could further identify what the sandbox may be doing here?
Assignee | ||
Comment 11•5 years ago
|
||
I'll take a look as soon as I can, leaving NI for now.
Assignee | ||
Comment 12•5 years ago
|
||
mozregression was off to start with, but close enough that meant I got it to work on a second range just on autoland.
This was regressed by bug 1578422.
This is exactly the issue that it was designed to catch and explains why it is nightly only.
Now I just need to work out why the shared memory set-up for the crash reporter is failing.
Comment 13•5 years ago
|
||
The x86 media plugin isn't launched directly by the parent process, I think? (See bug 1530245.) So maybe the fix for bug 1575906 isn't working?
Assignee | ||
Comment 14•5 years ago
|
||
I think I've worked out what's going on here.
On arm64, because we don't have a native widevine DLL, we use an unsandboxed x86 process to launch a sandboxed x86 process to host the x86 widevine DLL we do have.
That is then hooked up via IPC channels to the arm64 processes.
The problem is that the CrashReporterClient tries to duplicate the handle for its shared memory to the real arm64 parent.
We added a rule in bug 1575906 for this to allow duplication back to the broker (normally the parent process).
In the arm64 case the sandboxed x86 process's broker is the unsandboxed x86 process, so the duplication to the real arm64 parent fails.
So, to allow the duplication to the real arm64 parent, we need to add a HANDLES_DUP_ANY rule instead and add the real parent as a target peer to the x86 broker.
I've tried this and the CrashReporterClient seems to initialize OK.
I can't test widevine properly, because it won't work in local or try builds, so we'll have to wait for a Nightly, but I think we should be OK.
I'll get the patch up tomorrow.
Assignee | ||
Comment 15•5 years ago
|
||
Comment 17•5 years ago
|
||
Pushed by bobowencode@gmail.com: https://hg.mozilla.org/integration/autoland/rev/f5bdb80f1108 Allow sandboxed x86 GMP process to duplicate crashreporter handle to the arm64 main process. r=handyman
Comment 18•5 years ago
|
||
bugherder |
Comment 19•5 years ago
|
||
Bob, 71 is marked as affected, is that a patch we could uplift in beta? Thanks
Assignee | ||
Comment 20•5 years ago
|
||
(In reply to Pascal Chevrel:pascalc from comment #19)
Bob, 71 is marked as affected, is that a patch we could uplift in beta? Thanks
The crash was caused by a diagnostic assert, so it doesn't happen on beta and release.
However, the shared memory issue is still there and has been since the first release on arm64, so I would be inclined to let it roll out normally, given that we're quite late in the cycle.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 21•5 years ago
|
||
Verified - fixed on latest Nightly 72.0a1 (Build id: 20191119043902) using ARM64 - Windows 10 - Lenovo Yoga laptop.
Updated•2 years ago
|
Description
•