Last Comment Bug 1116806 - (asyncplugininit) Let Asynchronous Plugin Initialization ride the train
(asyncplugininit)
: Let Asynchronous Plugin Initialization ride the train
Status: RESOLVED FIXED
: dev-doc-complete, site-compat
Product: Core
Classification: Components
Component: Plug-ins (show other bugs)
: unspecified
: x86 All
-- normal with 1 vote (vote)
: mozilla39
Assigned To: Aaron Klotz [:aklotz]
:
: Benjamin Smedberg [:bsmedberg]
Mentors:
Depends on: asyncplugininit-compat 998863 1115436 1115437 1116825 1116827 1117244 1117398 1117864 1119060 1119565 1121011 1121158 1121162 1123916 1127888 1130747 1135491 1136930 1149358 1151804 1152395 1153173 1156800 1156861 1156903 1157237 1170231 1170486 1170676 1171948 1173879 1200698 1203517
Blocks: 869208 1135130
  Show dependency treegraph
 
Reported: 2014-12-31 10:30 PST by Aaron Klotz [:aklotz]
Modified: 2015-12-03 01:40 PST (History)
26 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
+
disabled
-
fixed
fixed
39+


Attachments
Enable asyncInit (1.08 KB, patch)
2015-02-18 21:11 PST, Aaron Klotz [:aklotz]
vladan.bugzilla: review+
sledru: approval‑mozilla‑aurora-
Details | Diff | Splinter Review
Enable asyncInit (r2) (1.27 KB, patch)
2015-03-26 15:05 PDT, Aaron Klotz [:aklotz]
aklotz: review+
Details | Diff | Splinter Review
Patch for disabling by default on beta (1.18 KB, patch)
2015-06-11 08:25 PDT, Aaron Klotz [:aklotz]
vladan.bugzilla: review+
lhenry: approval‑mozilla‑beta+
Details | Diff | Splinter Review

Description User image Aaron Klotz [:aklotz] 2014-12-31 10:30:31 PST
Tracking bug for enabling Async Plugin Init by default.
Comment 1 User image Aaron Klotz [:aklotz] 2015-02-18 21:11:22 PST
Created attachment 8566383 [details] [diff] [review]
Enable asyncInit

This will land in tandem with bug 1115437 and bug 1127888 which will ensure that all tests pass both with e10s and without.
Comment 2 User image Vladan Djeric (:vladan) 2015-02-19 09:59:52 PST
Comment on attachment 8566383 [details] [diff] [review]
Enable asyncInit

Review of attachment 8566383 [details] [diff] [review]:
-----------------------------------------------------------------

Post an announcement on m.d.platform informing them of this change, types of bugs to look out for, where to report them, and who to CC
Comment 3 User image Aaron Klotz [:aklotz] 2015-02-20 09:51:25 PST
Filed bug 1135130 for e10s-specific issues. Since this bug deals with riding the trains, and e10s is not yet riding the trains, e10s-specific bugs should not be blocking this one.
Comment 4 User image Vladan Djeric (:vladan) 2015-02-21 14:29:47 PST
Georg: Where will the asyncPluginInit value appear in the environment section? User-changed prefs?
Comment 6 User image Aaron Klotz [:aklotz] 2015-02-22 01:58:13 PST
https://hg.mozilla.org/integration/mozilla-inbound/rev/d1f1624d615c

Backed out due to the sudden emergence of bug 1135431 when asyncInit is turned on :-(. According to try it goes orange ~50% of the time on Win64 debug.
Comment 7 User image Georg Fritzsche [:gfritzsche] 2015-02-23 00:55:55 PST
(In reply to Vladan Djeric (:vladan) -- please needinfo! from comment #4)
> Georg: Where will the asyncPluginInit value appear in the environment
> section? User-changed prefs?

Yes. We have it in the list in bug 1122046, bug 1131138 will take care of adding the requested prefs.
Comment 8 User image Aaron Klotz [:aklotz] 2015-02-26 15:27:32 PST
Release Note Request (optional, but appreciated)
[Why is this notable]: It will significantly improve browser responsiveness when NPAPI plug-ins are instantiated in a web page.
[Suggested wording]: Asynchronous initialization of NPAPI plug-ins has been enabled.
[Links (documentation, blog post, etc)]:
http://dblohm7.ca/blog/2014/06/17/asynchronous-plugin-initialization-an-introduction/
http://dblohm7.ca/blog/2014/12/31/asynchronous-plugin-initialization-nightly/
Comment 9 User image Ryan VanderMeulen [:RyanVM] 2015-03-16 12:49:29 PDT
Backed out for frequent Linux e10s browser_tab_dragdrop.js timeouts.
https://hg.mozilla.org/integration/mozilla-inbound/rev/8b1064f9e770

https://treeherder.mozilla.org/logviewer.html#?job_id=7664554&repo=mozilla-inbound
Comment 10 User image Ryan VanderMeulen [:RyanVM] 2015-03-16 13:41:57 PDT
https://treeherder.mozilla.org/logviewer.html#?job_id=7670090&repo=mozilla-inbound looks like fallout from this as well.
Comment 11 User image Aaron Klotz [:aklotz] 2015-03-16 13:51:01 PDT
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #10)
> https://treeherder.mozilla.org/logviewer.html#?job_id=7670090&repo=mozilla-
> inbound looks like fallout from this as well.

No, that looks like bug 1128064.
Comment 12 User image Aaron Klotz [:aklotz] 2015-03-18 10:35:05 PDT
Comment on attachment 8566383 [details] [diff] [review]
Enable asyncInit

Approval Request Comment
[Feature/regressing bug #]: Asynchronous plugin initialization
[User impact if declined]: Feature won't be available in 38 and will not be able to ride the trains ahead of e10s.
[Describe test coverage new/current, TreeHerder]: Flag enabled and tested extensively on try.
[Risks and why]: Moderate. Feature has been in the tree and tested for some time now. New unexpected issues may be encountered with a larger audience. It hasn't landed on Nightly yet because of e10s issues. Because this feature has a different implementation on e10s, it really needs to be activated on Aurora to be able to properly determine its effects in the non-e10s case. At the same time, we can always pref it off again if there are too many problems.
[String/UUID change made/needed]: None.
Comment 13 User image Sylvestre Ledru [:sylvestre] 2015-03-18 10:42:50 PDT
As 38 is going to be an ESR release, can we postpone that change for 39? The merge is next monday.
It is a nice feature but I don't see the point of rushing here... Especially with a moderate risk.
Comment 14 User image Aaron Klotz [:aklotz] 2015-03-18 11:08:26 PDT
(In reply to Sylvestre Ledru [:sylvestre] from comment #13)
> As 38 is going to be an ESR release, can we postpone that change for 39? The
> merge is next monday.
> It is a nice feature but I don't see the point of rushing here... Especially
> with a moderate risk.

I'd really like to try it out now. The non-e10s case has barely seen any testing because it's been stuck on nightly. Since it is trivial to revert (by preffing off again), I'd really like to uplift ASAP.
Comment 15 User image Sylvestre Ledru [:sylvestre] 2015-03-19 08:26:37 PDT
It is too late in the 38 cycle to take a new feature or important change.
Moreover, the 38 release is one of the two major releases that we do now. I would like to avoid "noise" on this release with new features to focus on the one we have...
39 in aurora is just in a few days...
Comment 16 User image Aaron Klotz [:aklotz] 2015-03-19 12:58:48 PDT
(In reply to Sylvestre Ledru [:sylvestre] from comment #15)
> It is too late in the 38 cycle to take a new feature or important change.
> Moreover, the 38 release is one of the two major releases that we do now.

You're the release manager so it's your call, however I do protest: The fact that 38 is a "big" release is precisely why it would be really good to take this feature! Performance *is* a feature, and this particular one eliminates 1/2 of our top ten hangs. To me that is something that is worth including in a "big" release.
Comment 17 User image Benjamin Smedberg [:bsmedberg] 2015-03-19 13:22:05 PDT
This is all about risk management. I agree with Sylvestre that this is not the right kind of risk to take late in the aurora cycle for 38.
Comment 18 User image Aaron Klotz [:aklotz] 2015-03-26 15:05:00 PDT
Created attachment 8584106 [details] [diff] [review]
Enable asyncInit (r2)

Modified to enable off-nightly only. Carrying forward r+.
Comment 19 User image Ryan VanderMeulen [:RyanVM] 2015-03-27 09:28:26 PDT
https://hg.mozilla.org/mozilla-central/rev/28dca8aee584
Comment 20 User image Guilherme Lima 2015-03-28 14:02:04 PDT
There are nightly users still testing e10s off. Isn't possible/worthy to detect that e10s is off and enable asyncInit?
Comment 21 User image Liz Henry (:lizzard) (needinfo? me) 2015-03-29 11:53:02 PDT
Relnoting this for 39. Also tracking for 39.
Comment 22 User image Liz Henry (:lizzard) (needinfo? me) 2015-03-31 11:03:55 PDT
Aaron does this apply to desktop only? Or should I add a release note for mobile too? Thanks.
Comment 23 User image Aaron Klotz [:aklotz] 2015-03-31 11:09:21 PDT
Desktop only.
Comment 24 User image Aaron Klotz [:aklotz] 2015-06-11 08:25:07 PDT
Created attachment 8621011 [details] [diff] [review]
Patch for disabling by default on beta

(I know it's still awaiting r+ but I hope in this case that Liz will forgive me)

Approval Request Comment
[Feature/regressing bug #]: Async plugin init
[User impact if declined]: Crashes, hangs, and instability. Oh my!
[Describe test coverage new/current, TreeHerder]: Disable configuration is in release and on e10s builds.
[Risks and why]: None, this reverts to existing behavior in release.
[String/UUID change made/needed]: None
Comment 25 User image Liz Henry (:lizzard) (needinfo? me) 2015-06-11 09:25:05 PDT
Comment on attachment 8621011 [details] [diff] [review]
Patch for disabling by default on beta

Approved for uplift to beta. :)
Comment 26 User image Ryan VanderMeulen [:RyanVM] 2015-06-11 09:34:09 PDT
https://hg.mozilla.org/releases/mozilla-beta/rev/534a78bbabb4
Comment 27 User image Kohei Yoshino [:kohei] 2015-08-12 19:49:04 PDT
Looks like there are some site compatibility issues due to this async initialization. I have added compatibility note for developers:

https://developer.mozilla.org/en-US/Firefox/Releases/40/Site_Compatibility#Plug-ins
Comment 28 User image Aaron Klotz [:aklotz] 2015-08-13 09:18:46 PDT
(In reply to Kohei Yoshino [:kohei] from comment #27)
> Looks like there are some site compatibility issues due to this async
> initialization. I have added compatibility note for developers:
> 
> https://developer.mozilla.org/en-US/Firefox/Releases/40/
> Site_Compatibility#Plug-ins

Do you have any examples? If there are some issues then we need to file some bugs so I can look at them!
Comment 29 User image Kohei Yoshino [:kohei] 2015-08-13 22:28:56 PDT
Bug 1121011, a dependency of this bug, may be an example. A Flash-based Japanese online stock trading system is also broken, but it's not reported yet.
Comment 30 User image Aaron Klotz [:aklotz] 2015-08-13 23:08:44 PDT
(In reply to Kohei Yoshino [:kohei] from comment #29)
> Bug 1121011, a dependency of this bug, may be an example. A Flash-based
> Japanese online stock trading system is also broken, but it's not reported
> yet.

I can't reproduce bug 1121011. A bug report for the latter issue would be nice.
Comment 31 User image nathan 2015-08-14 12:01:27 PDT
See bug 1194833 for reproduction case where this breaks any video using Google's Flash-IMA toolkit for ads. Ads and video playback are both broken.
Comment 32 User image Loic 2015-08-15 09:45:11 PDT
I don't understand why you enabled API in FF40, it's clearly still bugged, I triaged 3 or 4 new bugs about Flash apps failling to load, even famous apps like FarmVille 2 on Facebook.

IMHO, API should be disabled in a chemspill release until these bugs are fixed.
Comment 33 User image Kohei Yoshino [:kohei] 2015-08-15 11:11:02 PDT
[Tracking Requested - why for this release]: This breaks various Flash content in Firefox 40, including video players, games, online stock trading system. I know 40.0.2 is already out, but this might be another chemspill driver. The risk should be pretty low, just change the dom.ipc.plugins.asyncInit pref to false as before.
Comment 34 User image sspn 2015-08-15 11:28:40 PDT
This is affecting all the players on Farmville 2 on Firefox, can we please release an urgent fix for this?
https://bugzilla.mozilla.org/show_bug.cgi?id=1194958
Comment 35 User image Kohei Yoshino [:kohei] 2015-08-15 11:39:01 PDT
We need a back-out patch then.
Comment 36 User image Robert Kaiser 2015-08-15 11:44:29 PDT
(In reply to Loic from comment #32)
> I don't understand why you enabled API in FF40, it's clearly still bugged, I
> triaged 3 or 4 new bugs about Flash apps failling to load, even famous apps
> like FarmVille 2 on Facebook.

I can easily tell you why: Nobody - yes, nobody at all - reported any issues with it while it was on Firefox 40 Beta, and everything that was tested by our QA engineers worked as well. So it was not "clearly" having issues. That said, it seems like this is one more piece that shows us that too few of the right people are using Beta at this time or those that are may not report their issues.
Comment 37 User image Robert Kaiser 2015-08-15 11:46:19 PDT
We don't need a back-out patch. If we decide we need to get this disabled for users, we can and should do this with an add-on hotfix, which does not need an actual point-release.
Comment 38 User image sspn 2015-08-17 01:02:23 PDT
any plans as to when we would be rolling out the add-on hotfix for this?
Comment 39 User image sspn 2015-08-17 01:03:04 PDT
Any idea as to when we would be rolling out the add-on hotfix for this?
Comment 40 User image Aaron Klotz [:aklotz] 2015-08-17 11:30:41 PDT
(In reply to Loic from comment #32)
> I don't understand why you enabled API in FF40, it's clearly still bugged, I
> triaged 3 or 4 new bugs about Flash apps failling to load, even famous apps
> like FarmVille 2 on Facebook.

None of these ended up attached to bug 1116806. If these things aren't being reported and/or the right people aren't being notified, then it's very difficult to get this right in time for release.

(In reply to Kohei Yoshino [:kohei] from comment #35)
> We need a back-out patch then.

As KaiRo indicated, we'll do this via hotfix addon if necessary. I will be engaging with the appropriate parties to come to a decision on this.

(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #36)
> (In reply to Loic from comment #32)
> > I don't understand why you enabled API in FF40, it's clearly still bugged, I
> > triaged 3 or 4 new bugs about Flash apps failling to load, even famous apps
> > like FarmVille 2 on Facebook.
> 
> I can easily tell you why: Nobody - yes, nobody at all - reported any issues
> with it while it was on Firefox 40 Beta, and everything that was tested by
> our QA engineers worked as well. So it was not "clearly" having issues. That
> said, it seems like this is one more piece that shows us that too few of the
> right people are using Beta at this time or those that are may not report
> their issues.

+1.
Comment 41 User image akorchemniy 2015-08-17 16:21:57 PDT
This is affecting our plugin as well in 40+. I had to disable dom.ipc.plugins.asyncInit. Is there guidance on what not to do from the plugin side to avoid the problem?
Comment 42 User image Vladan Djeric (:vladan) 2015-08-17 16:55:52 PDT
(In reply to akorchemniy from comment #41)
> This is affecting our plugin as well in 40+. I had to disable
> dom.ipc.plugins.asyncInit. Is there guidance on what not to do from the
> plugin side to avoid the problem?

Is this the affect plugin? http://downloads.asperasoft.com/connect2/
How can we reproduce the issue?

Aaron, can you take a look?
Comment 43 User image akorchemniy 2015-08-17 17:17:29 PDT
1. Install Connect from http://downloads.asperasoft.com/connect2
2. Login https://faspex.com 
3. mozilla / Mozilla1!
4. Visit the "New Package" page to repro hang
Comment 44 User image Aaron Klotz [:aklotz] 2015-08-17 20:35:36 PDT
(In reply to akorchemniy from comment #41)
> This is affecting our plugin as well in 40+. I had to disable
> dom.ipc.plugins.asyncInit. Is there guidance on what not to do from the
> plugin side to avoid the problem?

I filed bug 1195609 to track your bug. Async plugin init is supposed to work seamlessly with existing plugins without modification, provided that the plugins are correctly abiding by the API contract. In particular, make sure that your plugin is checking return codes from NPN functions.

Other than that, we're probably going to push a hotfix to disable the feature while the compatibility issues are being ironed out.
Comment 45 User image Sylvestre Ledru [:sylvestre] 2015-08-18 07:04:51 PDT
Not tracking this bug as it is about letting the feature riding the train.
We should have a new bug. For now, tracking bug 1195609
Comment 46 User image sspn 2015-08-18 07:15:11 PDT
Hi all, thanks for looking into this, do we have any plans as to when the hotfix would be rolled out?
Comment 47 User image Liz Henry (:lizzard) (needinfo? me) 2015-08-18 16:24:30 PDT
(In reply to sspn from comment #46)
> Hi all, thanks for looking into this, do we have any plans as to when the
> hotfix would be rolled out?

The hotfix will be in bug 1196000.
Comment 48 User image will69 2015-08-19 07:44:56 PDT
For reference: This also breaks Oracle Enterprise Manager 11g Database Control.

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