From ab857cbf2e253351b4940d55deefd2580fb29660 Mon Sep 17 00:00:00 2001 From: Jim Chen Date: Thu, 5 Oct 2017 14:59:32 -0400 Subject: [PATCH] Bug 1401737 - 4. Moar diagnostic crash; r=me Back out the part 1 diagnostic crash and introduce another diagnostic crash that will hopefully include more details. r=me for trivial patch. MozReview-Commit-ID: Ki8BTdTRHlM --- .../java/org/mozilla/gecko/GeckoApplication.java | 11 +++++++++++ .../base/java/org/mozilla/gecko/GeckoService.java | 12 ------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java index 036744b6b32f..79d4a9c7fccf 100644 --- a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java @@ -197,6 +197,8 @@ public class GeckoApplication extends Application mInBackground = false; } + private static Application sApp; + @Override public void onCreate() { Log.i(LOG_TAG, "zerdatime " + SystemClock.elapsedRealtime() + @@ -277,6 +279,15 @@ public class GeckoApplication extends Application MulticastDNSManager.getInstance(context).init(); + if (sApp == null) { + sApp = this; + } else { + GeckoAppShell.appendAppNotesToCrashReport("Bug 1401737: " + + this + '/' + getPackageName() + '/' + getApplicationInfo().uid + ' ' + + sApp + '/' + sApp.getPackageName() + '/' + sApp.getApplicationInfo().uid); + throw new IllegalStateException("Bug 1401737 diagnostic crash 2"); + } + GeckoService.register(); IntentHelper.init(); diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoService.java b/mobile/android/base/java/org/mozilla/gecko/GeckoService.java index 661a5ad173af..6e7ff466d05d 100644 --- a/mobile/android/base/java/org/mozilla/gecko/GeckoService.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoService.java @@ -71,22 +71,10 @@ public class GeckoService extends Service { private static final EventListener EVENT_LISTENER = new EventListener(); - private static RuntimeException bug1401737Diag; - public static void register() { if (DEBUG) { Log.d(LOGTAG, "Registered listener"); } - - // Diagnose bug 1401737. register() is unexpectedly getting called a second time. - // We know the stack for the second call, but we want to collect stack for the first call. - if (bug1401737Diag == null) { - bug1401737Diag = new IllegalStateException("Bug 1401737 diagnostic crash"); - } else { - Log.e(LOGTAG, "register() is called a second time", new Exception()); - throw bug1401737Diag; - } - EventDispatcher.getInstance().registerGeckoThreadListener(EVENT_LISTENER, "Gecko:ScheduleRun"); }