diff --git a/services/core/java/com/android/server/Watchdog.java b/services/core/java/com/android/server/Watchdog.java index a7fb99f8b004e..e097d85293ab3 100644 --- a/services/core/java/com/android/server/Watchdog.java +++ b/services/core/java/com/android/server/Watchdog.java @@ -617,9 +617,13 @@ public class Watchdog extends Thread { // deadlock and the watchdog as a whole to be ineffective) Thread dropboxThread = new Thread("watchdogWriteToDropbox") { public void run() { - mActivity.addErrorToDropBox( - "watchdog", null, "system_server", null, null, null, - subject, null, stack, null); + // If a watched thread hangs before init() is called, we don't have a + // valid mActivity. So we can't log the error to dropbox. + if (mActivity != null) { + mActivity.addErrorToDropBox( + "watchdog", null, "system_server", null, null, null, + subject, null, stack, null); + } StatsLog.write(StatsLog.SYSTEM_SERVER_WATCHDOG_OCCURRED, subject); } };