Closed Bug 1291537 Opened 8 years ago Closed 8 years ago

Disable GMPs on 32bit MacOS mode

Categories

(Toolkit :: General, defect, P1)

defect

Tracking

()

VERIFIED FIXED
mozilla51
Tracking Status
firefox49 --- verified
firefox50 --- verified
firefox51 --- verified

People

(Reporter: cpearce, Assigned: cpearce)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

If you run Firefox on a 64bit MacOSX in 32bit compatibility mode and try to use either an EME or OpenH264 GMP, the GMP will crash. This is because we don't have 32bit MacOSX GMPs, and the GMPProvider installs the 64 GMPs on 32bit MacOSX. I presume we're installing the 64bit GMP in 32bit mode Firefox's user agent string doesn't expose whether we're in 32 or 64 bit mode, and we only have the 64bit one. Apparently there was a time when for some subset of plugins which we knew didn't work well in 64bit Firefox, we'd prompt the user to approve us switching to 32bit mode. Which explains how some people got into this situation. Mac also provides a way to run apps on a 64bit system under 32bit mode in the "Info" dialog in Finder. So for users in this situation, EME and OpenH264 won't work; the GMP will just crash. We're planning on making Firefox 64bit only after Firefox 52. There is only one crash report on file which I think represents this situation, and it was me testing this situation: https://crash-stats.mozilla.com/search/?gmp_plugin=!__null__&date=>%3D2016-01-01&platform=Mac OS X&cpu_arch=x86&_sort=-date&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#crash-reports So there doesn't seem to be much point in doing work to make 32bit GMPs work in universal-binary Firefox running in 32bit mode. So we should just disable GMPs in 32bit mode on MacOS.
Component: General → Audio/Video: GMP
Product: Toolkit → Core
Rank: 19
Priority: -- → P1
Users may have opted into running in 32bit mode if they have certain plugins, or manually from Finder's Info dialog. We end up downloading the 64bit GMP and installing it when running in 32bit mode, and it will crash. Since we're dropping 32bit MacOS Firefox in 52, there doesn't seem to be much point doing work to make us install the 32bit GMP on 32bit mode on MacOS, and pushing out new 32bit GMPs. So just mark them as unsupported. MozReview-Commit-ID: KRZKPKZkmKB
Users may have opted into running in 32bit mode if they have certain plugins, or manually from Finder's Info dialog. We end up downloading the 64bit GMP and installing it when running in 32bit mode, and it will crash. Since we're dropping 32bit MacOS Firefox in 52, there doesn't seem to be much point doing work to make us install the 32bit GMP on 32bit mode on MacOS, and pushing out new 32bit GMPs. So just mark them as unsupported. MozReview-Commit-ID: KRZKPKZkmKB
Attachment #8778082 - Attachment is obsolete: true
Comment on attachment 8778083 [details] [diff] [review] Assume GMPs are unsupported when running in 32bit mode on MacOS Review of attachment 8778083 [details] [diff] [review]: ----------------------------------------------------------------- (Sorry for requesting review via splinter, my `hg push review` doesn't work anymore since I setup my machine to do universal builds).
Attachment #8778083 - Flags: review?(spohl.mozilla.bugs)
Given that this changes code in toolkit, I think the toolkit/general bugzilla component is appropriate.
Component: Audio/Video: GMP → General
Product: Core → Toolkit
Comment on attachment 8778083 [details] [diff] [review] Assume GMPs are unsupported when running in 32bit mode on MacOS Review of attachment 8778083 [details] [diff] [review]: ----------------------------------------------------------------- (In reply to Chris Pearce (:cpearce) from comment #4) > Comment on attachment 8778083 [details] [diff] [review] > (Sorry for requesting review via splinter, my `hg push review` doesn't work > anymore since I setup my machine to do universal builds). Believe it or not, I actually prefer splinter. :-) One minor improvement request. Looks good to me otherwise. Thanks! ::: toolkit/modules/GMPUtils.jsm @@ +91,5 @@ > + return false; > + } > + let abi = Services.appinfo.XPCOMABI; > + let [arch] = abi.split("-"); > + return arch == "x86"; Let's just rewrite these three lines to: return Services.appinfo.XPCOMABI.split("-")[0] == "x86";
Attachment #8778083 - Flags: review?(spohl.mozilla.bugs) → review+
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Comment on attachment 8778083 [details] [diff] [review] Assume GMPs are unsupported when running in 32bit mode on MacOS Approval Request Comment [Feature/regressing bug #]: EME/OpenH264 [User impact if declined]: The EME plugins and OpenH264 will crash on MacOSX machines which are running Firefox in 32bit mode. Note: it's just the plugin that will crash, Firefox will not. Users could have been opted into 32bit mode if they were running legacy plugins, or if they've manually toggled the setting in Finder's Info dialog. This would cause Netflix to fail for these users. [Describe test coverage new/current, TreeHerder]: We have lots of EME mochitests. [Risks and why]: Low; this turns off a feature on platforms where it's not supported. [String/UUID change made/needed]: None.
Attachment #8778083 - Flags: approval-mozilla-beta?
Attachment #8778083 - Flags: approval-mozilla-aurora?
Comment on attachment 8778083 [details] [diff] [review] Assume GMPs are unsupported when running in 32bit mode on MacOS Makes sense. I'd rather convey this is unsupported than have users see a plugin crash. OK to uplift & should end up in beta 3.
Attachment #8778083 - Flags: approval-mozilla-beta?
Attachment #8778083 - Flags: approval-mozilla-beta+
Attachment #8778083 - Flags: approval-mozilla-aurora?
Attachment #8778083 - Flags: approval-mozilla-aurora+
Verified that on Fx 49.0.2, Fx 50.0 and DevEdition 51.0a2 that GMP is disabled if I start the browsers in 32bit mode using Mac OS X 10.12.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: