Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

mozAddonManager + e10s issues? #1347

Closed
chuckharmston opened this issue Sep 14, 2016 · 7 comments
Closed

mozAddonManager + e10s issues? #1347

chuckharmston opened this issue Sep 14, 2016 · 7 comments

Comments

@chuckharmston
Copy link

Reported by @SoftVision-CosminMuntean on the list:

However, we also tested this on the latest Firefox (49.0) beta, and we may uncovered a possible issue. If e10s is enabled and you want to install Test Pilot with your steps, the button remains in the "Installing..." state and will look like stuck or broken for a normal user.
Until the page is refreshed or the browser is manually restarted, this won't change. After the restart, the Test Pilot add-on is installed and the e10s is disabled, witch is a known behavior for add-ons that are not compatible with e10s.

Our concern is that before using the mozAddonManager API, a doorhanger that required to restart the browser was displayed while installing Test Pilot. Now there is no notification about this. Will this behavior affect the users if we launch this while 49.0 release will be available?

@chuckharmston
Copy link
Author

I've been unable to reproduce this locally. A few notes:

  • I have asked for better STR.
  • This does look like expected behavior for a testpilot.env mismatch; could be a red herring.
  • @krupa suggested that there is a whitelist of add-ons that don't disable e10s on install, and I've reached out to the appropriate people to learn about that.

@muffinresearch
Copy link

muffinresearch commented Sep 14, 2016

@chuckharmston if you start with no add-ons (clean profile) and e10s enabled you should find you're more likely to hit this case as the installation of the first add-on requires a restart to turn off e10s.

To fix it (show a different ui to tell the user that a restart is needed) you should find you can listen out for a needsRestart hint in the various events fired by mozAddonManager https://github.com/mozilla/addons-frontend/pull/543/files#diff-8423fedb8be9cc2453639bbbe1fe40e3R91 - I think onInstalling would be the place to start iirc.

e.g:

navigator.mozAddonManager.addEventListener('onInstalling', callback);

@johngruen
Copy link
Contributor

@SoftVision-CosminMuntean

Here is a more detailed version of the steps to reproduce this:

[Affected versions]:

  • Firefox beta 49.0 with e10s enabled

[Affected Platforms]:

  • All Windows
  • All Linux
  • All Mac OS

[Prerequisite]:

  • Have Firefox beta 49.0 downloaded and create a new clean profile.
  • If e10s is not displayed as enabled in "about:support" page, enable it form "about:config" by setting "browser.tabs.remote.autostart" pref to "true" and after restart the browser.

[STR]:

  1. Open the browser with the profile from prerequisite.
  2. Go to about:config and create a new string pref "testpilot.env" with "stage" value.
  3. Create a new boolean pref "extensions.webapi.testing" and set it to "true".
  4. Open a new tab and go to "testpilot.stage.mozaws.net" page and click the "Install the Test Pilot Add-on" green button.
  5. Observe the browser behavior.

[Expected Results]:

  • After pressing the "Install the Test Pilot Add-on" button, a doorhanger that requires to restart the browser (required for e10s disable since Test Pilot is not compatible).

[Actual Resutls]:

  • The button remains in the "Installing..." state and will look like stuck until the browser is restarted.

[Notes]:

  • The browser waits to disable the e10s in order to completely install the add-on.
  • Added a screen recording with the issue:https://goo.gl/KHgG8z.

@johngruen
Copy link
Contributor

So there are two possible mitigations for this:

  1. We get our patch in here https://bugzilla.mozilla.org/show_bug.cgi?id=1302846 and this becomes moot
  2. We back out the mozAddOnManager code until 50 ships.

Obviously we would prefer option 1.

@chuckharmston
Copy link
Author

See also #1360

@chuckharmston
Copy link
Author

Closing this with #1369, #1379, #1381

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants