Dump system server stack trace on watchdog failure
Change-Id: Ia70b116b789a51c4fbdd31348f127685f20f7500
diff --git a/services/java/com/android/server/Watchdog.java b/services/java/com/android/server/Watchdog.java
index d4d3850..ace543b 100644
--- a/services/java/com/android/server/Watchdog.java
+++ b/services/java/com/android/server/Watchdog.java
@@ -477,6 +477,12 @@
// Only kill the process if the debugger is not attached.
if (!Debug.isDebuggerConnected()) {
Slog.w(TAG, "*** WATCHDOG KILLING SYSTEM PROCESS: " + name);
+ Slog.w(TAG, "Main thread stack trace:");
+ StackTraceElement[] stackTrace = mHandler.getLooper().getThread().getStackTrace();
+ for (StackTraceElement element: stackTrace) {
+ Slog.w(TAG, "\tat " + element);
+ }
+ Slog.w(TAG, "<End of main thread stack trace>");
Process.killProcess(Process.myPid());
System.exit(10);
} else {