Last Comment Bug 759364 - Run the Silverlight plugin OOP in 32-bit mode on OS X
: Run the Silverlight plugin OOP in 32-bit mode on OS X
Product: Core
Classification: Components
Component: Plug-ins (show other bugs)
: Trunk
: x86 Mac OS X
-- normal (vote)
: mozilla14
Assigned To: Steven Michaud [:smichaud] (Retired)
: Benjamin Smedberg [:bsmedberg]
Depends on:
Blocks: 758931
  Show dependency treegraph
Reported: 2012-05-29 09:19 PDT by Steven Michaud [:smichaud] (Retired)
Modified: 2012-08-02 14:23 PDT (History)
4 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Fix (557 bytes, patch)
2012-05-29 14:36 PDT, Steven Michaud [:smichaud] (Retired)
jaas: review+
lukasblakk+bugs: approval‑mozilla‑beta+
Details | Diff | Splinter Review

Description User image Steven Michaud [:smichaud] (Retired) 2012-05-29 09:19:27 PDT
This bug is spun off from bug 753248 comment #8.

When building on OS X 10.7 and up, the linker by default prevents code execution on the heap.  But the Silverlight plugin does execute code on the heap, and crashes on startup when heap execution is forbidden.

In the patch for bug 753248 we've stopped the 10.7-and-up linker from preventing heap execution in the plugin-container process, but not in the main process.  We don't want to lose the protection against heap execution in the main process (where most of our code runs), but think it's a reasonable compromise to allow it in the plugin-container process.  (Chrome behaves similarly -- see bug 753248 comment #50.)

This means that Silverlight doesn't crash in 64-bit mode (where it runs out of process).  But currently Silverlight defaults to running in-process in 32-bit mode on the Mac, so it always crashes (and brings down the browser) in 32-bit mode.

Though we don't really support running in 32-bit mode, we gain flexibility by making Silverlight run out-of-process in 32-bit mode.

After some testing, I'll post a patch that does this.
Comment 1 User image Steven Michaud [:smichaud] (Retired) 2012-05-29 14:36:30 PDT
Created attachment 628111 [details] [diff] [review]

I made a build with this patch on OS X 10.7, then tested it in 32-bit mode with the STR from bug 753248 comment #3.  I saw no problems.

Josh, can you think of reasons not to do this?
Comment 2 User image Steven Michaud [:smichaud] (Retired) 2012-05-29 15:36:42 PDT
Comment on attachment 628111 [details] [diff] [review]

Landed on mozilla-inbound:
Comment 3 User image Ed Morley [:emorley] 2012-05-30 07:40:25 PDT
Comment 4 User image Steven Michaud [:smichaud] (Retired) 2012-06-13 08:38:09 PDT
Comment on attachment 628111 [details] [diff] [review]

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Starting to do beta builds on 10.7.
User impact if declined: Large numbers of crashes in our 14-branch betas.
Testing completed (on m-c, etc.): Currently on trunk and aurora, with no reported problems
Risk to taking this patch (and alternatives if risky): Minimal risk
String or UUID changes made by this patch: none
Comment 5 User image Steven Michaud [:smichaud] (Retired) 2012-06-13 08:41:18 PDT
See bug 764385.
Comment 6 User image Lukas Blakk [:lsblakk] use ?needinfo 2012-06-15 15:29:24 PDT
Comment on attachment 628111 [details] [diff] [review]

[Triage Comment]
Glad there's no problems on trunk/aurora - go ahead and push to beta.
Comment 7 User image Steven Michaud [:smichaud] (Retired) 2012-06-15 16:52:27 PDT
Comment on attachment 628111 [details] [diff] [review]

Landed on mozilla-beta:

Note You need to log in before you can comment on or make changes to this bug.