From 4bded0744a07152c1e7ae4cb8110c74ec89a67b1 Mon Sep 17 00:00:00 2001 From: Dan Egnor Date: Thu, 11 Mar 2010 22:00:47 -0800 Subject: [PATCH] Dump the phone process stack (as well as the system process) on watchdog reset. Change-Id: I3c47086f9cc010f524da7de539942ea30d0338e3 --- services/java/com/android/server/Watchdog.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/java/com/android/server/Watchdog.java b/services/java/com/android/server/Watchdog.java index 3f64b25796df1..be1d1c4cf064f 100644 --- a/services/java/com/android/server/Watchdog.java +++ b/services/java/com/android/server/Watchdog.java @@ -828,7 +828,13 @@ public class Watchdog extends Thread { ArrayList pids = new ArrayList(); pids.add(Process.myPid()); + if (mPhonePid > 0) pids.add(mPhonePid); File stack = ActivityManagerService.dumpStackTraces(pids); + + // Give some extra time to make sure the stack traces get written. + // The system's been hanging for a minute, another second or two won't hurt much. + SystemClock.sleep(2000); + mActivity.addErrorToDropBox("watchdog", null, null, null, name, null, stack, null); // Only kill the process if the debugger is not attached.