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 {