Bug 1108587 - Extending the grace period of AsyncShutdown and the nsTerminator for ASAN builds;r?gsvelto draft
authorDavid Teller <dteller@mozilla.com>
Thu, 09 Nov 2017 16:21:34 +0100
changeset 695648 7cf2d7eb4c4f04ebf3dc977a740024e2d232b3ba
parent 684703 d49501f258b105c5e2dcd0a59896ec1ceabf726b
child 739664 72da027e9edbbe6d4575aa11c0ff1b589742860b
push id88492
push userdteller@mozilla.com
push dateThu, 09 Nov 2017 16:08:51 +0000
reviewersgsvelto
bugs1108587
milestone58.0a1
Bug 1108587 - Extending the grace period of AsyncShutdown and the nsTerminator for ASAN builds;r?gsvelto Bug 1108587 seems to suggest that the grace period for nsTerminator is too short for ASAN builds, which take much longer to shutdown. This patch changes the grace period from 1 minute to 3 minutes, hoping that this will be sufficient. Somewhere along the way, we also extend the duration of AsyncShutdown, because that's the simplest way to do both at once. MozReview-Commit-ID: 28eWO5m6Wh3
modules/libpref/init/all.js
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1022,17 +1022,23 @@ pref("toolkit.telemetry.server_owner", "
 // Information page about telemetry (temporary ; will be about:telemetry in the end)
 pref("toolkit.telemetry.infoURL", "https://www.mozilla.org/legal/privacy/firefox.html#telemetry");
 // Determines whether full SQL strings are returned when they might contain sensitive info
 // i.e. dynamically constructed SQL strings or SQL executed by addons against addon DBs
 pref("toolkit.telemetry.debugSlowSql", false);
 // Whether to use the unified telemetry behavior, requires a restart.
 pref("toolkit.telemetry.unified", true);
 // AsyncShutdown delay before crashing in case of shutdown freeze
-pref("toolkit.asyncshutdown.crash_timeout", 60000);
+#ifndef MOZ_ASAN
+pref("toolkit.asyncshutdown.crash_timeout", 60000); // 1 minute
+#else
+// MOZ_ASAN builds can be considerably slower. Extending the grace period
+// of both asyncshutdown and the terminator.
+pref("toolkit.asyncshutdown.crash_timeout", 180000); // 3 minutes
+#endif // MOZ_ASAN
 // Extra logging for AsyncShutdown barriers and phases
 pref("toolkit.asyncshutdown.log", false);
 
 // Tells if DevTools have been explicitely enabled by the user.
 // This pref allows to disable all features related to DevTools
 // for users that never use them.
 // Until bug 1361080 lands, we always consider them enabled.
 pref("devtools.enabled", true);