OSDN Git Service

Add more information to WTF to investigate bug 37809561
authorMakoto Onuki <omakoto@google.com>
Tue, 2 May 2017 19:02:23 +0000 (12:02 -0700)
committerMakoto Onuki <omakoto@google.com>
Tue, 2 May 2017 19:02:23 +0000 (12:02 -0700)
Bug 37809561
Test: Build & boot -- didn't actually exercise the WTF case but it should work
since getStackTraceString accepts null too.

Change-Id: Iabfbe1fcde293fec919c65df7ea9650e1b247b9a

core/java/android/app/LoadedApk.java

index bbcf7ba..b84161c 100644 (file)
@@ -1218,6 +1218,7 @@ public final class LoadedApk {
             private Intent mCurIntent;
             private final boolean mOrdered;
             private boolean mDispatched;
+            private Throwable mPreviousRunStacktrace; // To investigate b/37809561. STOPSHIP remove.
 
             public Args(Intent intent, int resultCode, String resultData, Bundle resultExtras,
                     boolean ordered, boolean sticky, int sendingUser) {
@@ -1243,11 +1244,14 @@ public final class LoadedApk {
                 final IActivityManager mgr = ActivityManager.getService();
                 final Intent intent = mCurIntent;
                 if (intent == null) {
-                    Log.wtf(TAG, "Null intent being dispatched, mDispatched=" + mDispatched);
+                    Log.wtf(TAG, "Null intent being dispatched, mDispatched=" + mDispatched
+                            + ": run() previously called at "
+                            + Log.getStackTraceString(mPreviousRunStacktrace));
                 }
 
                 mCurIntent = null;
                 mDispatched = true;
+                mPreviousRunStacktrace = new Throwable("Previous stacktrace");
                 if (receiver == null || intent == null || mForgotten) {
                     if (mRegistered && ordered) {
                         if (ActivityThread.DEBUG_BROADCAST) Slog.i(ActivityThread.TAG,