diff options
| author | 2016-01-19 02:31:18 +0000 | |
|---|---|---|
| committer | 2016-01-19 02:31:18 +0000 | |
| commit | d3d9ddfa722398d038ad7ecd5e7f55763427c8a4 (patch) | |
| tree | de4eb1801acd51b7e37f41b01b4681295ca8b652 | |
| parent | 6cf93664f61d3db21e5142b70b9f96f41011f729 (diff) | |
| parent | 7fca6d50a57cbc1a45beca1d5d1e5cd1e696fbef (diff) | |
Merge "Temporary logging to debug ActivityStarter crash."
3 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index e3f4999adf0d..3d16141bc5a7 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -41,6 +41,7 @@ import android.graphics.Point; import android.graphics.Rect; import android.util.ArraySet; +import android.util.Log; import com.android.internal.app.IVoiceInteractor; import com.android.internal.content.ReferrerIntent; import com.android.internal.os.BatteryStatsImpl; @@ -4712,6 +4713,7 @@ final class ActivityStack { } task.stack = null; + task.lastStackClear = Log.getStackTraceString(new Throwable()); } TaskRecord createTaskRecord(int taskId, ActivityInfo info, Intent intent, diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index ab0263cec459..7135c70b644d 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -1281,6 +1281,10 @@ class ActivityStarter { } private ActivityRecord setTargetStackAndMoveToFrontIfNeeded(ActivityRecord intentActivity) { + if (intentActivity.task.stack == null) { + Slog.wtf(TAG, "Oops, the stack is null, we are about to crash. It was last cleared: " + + intentActivity.task.lastStackClear); + } mTargetStack = intentActivity.task.stack; mTargetStack.mLastPausedActivity = null; // If the target task is not in the front, then we need to bring it to the front... diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java index be36f01d39f1..c6444bfaf26c 100644 --- a/services/core/java/com/android/server/am/TaskRecord.java +++ b/services/core/java/com/android/server/am/TaskRecord.java @@ -245,6 +245,8 @@ final class TaskRecord { int mLayerRank = -1; Configuration mOverrideConfig = Configuration.EMPTY; + // STOPSHIP(b/26541093) + public String lastStackClear = "UNSET"; TaskRecord(ActivityManagerService service, int _taskId, ActivityInfo info, Intent _intent, IVoiceInteractionSession _voiceSession, IVoiceInteractor _voiceInteractor) { |