Bug 1399646: Part 4 - Increase the extension shutdown blocker timeout. r=mixedpuppy
authorKris Maglione <maglione.k@gmail.com>
Wed, 13 Sep 2017 08:58:37 -0700
changeset 430327 c7c638b31626ace9d0951e7a69450615673c9656
parent 430326 f87e1d6810536ab0dc940f95563869d86aa937d3
child 430328 71761ab92e6d21c30a2f9bdfae0960044638cc42
push id7761
push userjlund@mozilla.com
push dateFri, 15 Sep 2017 00:19:52 +0000
treeherdermozilla-beta@c38455951db4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmixedpuppy
bugs1399646
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1399646: Part 4 - Increase the extension shutdown blocker timeout. r=mixedpuppy The current timeout was added to deal with some shutdown deadlocks that were happining in the wild, but were hard to reproduce locally and therefore diagnose. It's not clear whether the bulk of those have been fixed, so I'm reluctant to remove the timeout entirely. But the current 1s timeout is quite short, and doesn't allow for proper cleanup in a lot of legitimate cases. The async shutdown service starts to emit warnings at 10s, so 8s gives us enough time to avoid at least that. MozReview-Commit-ID: 94zZjYUY8qZ
toolkit/components/extensions/Extension.jsm
--- a/toolkit/components/extensions/Extension.jsm
+++ b/toolkit/components/extensions/Extension.jsm
@@ -97,17 +97,17 @@ const {
   getUniqueId,
 } = ExtensionUtils;
 
 XPCOMUtils.defineLazyGetter(this, "console", ExtensionUtils.getConsole);
 
 XPCOMUtils.defineLazyGetter(this, "LocaleData", () => ExtensionCommon.LocaleData);
 
 // The maximum time to wait for extension shutdown blockers to complete.
-const SHUTDOWN_BLOCKER_MAX_MS = 1000;
+const SHUTDOWN_BLOCKER_MAX_MS = 8000;
 
 // The list of properties that themes are allowed to contain.
 XPCOMUtils.defineLazyGetter(this, "allowedThemeProperties", () => {
   Cu.import("resource://gre/modules/ExtensionParent.jsm");
   let propertiesInBaseManifest = ExtensionParent.baseManifestProperties;
 
   // The properties found in the base manifest contain all of the properties that
   // themes are allowed to have. However, the list also contains several properties