summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2022-06-14 22:58:00 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-06-14 22:58:00 +0000
commit0a3e8a46af8b4029df3786fd700782439be5c749 (patch)
treed40491f20667b10cb7677fe352cd2d6460ed3cbf
parent73d96f6eaeac24de07bc3d9359a4782ba5c1cbe4 (diff)
parent68f657619cb49b936f6152bb213f0ff0daa9ba1a (diff)
downloadbase-0a3e8a46af8b4029df3786fd700782439be5c749.tar.gz
Merge "Add runtime crash information to sysprops" am: 68f657619ctemp_sam_236045730
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2107991 Change-Id: Ia6e09648c74410ce5d14dd6b2032e59466034cb5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--core/java/com/android/internal/os/RuntimeInit.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/java/com/android/internal/os/RuntimeInit.java b/core/java/com/android/internal/os/RuntimeInit.java
index 44c7f5406713..28b98d6fab06 100644
--- a/core/java/com/android/internal/os/RuntimeInit.java
+++ b/core/java/com/android/internal/os/RuntimeInit.java
@@ -62,6 +62,8 @@ public class RuntimeInit {
private static IBinder mApplicationObject;
private static volatile boolean mCrashing = false;
+ private static final String SYSPROP_CRASH_COUNT = "sys.system_server.crash_java";
+ private static int mCrashCount;
private static volatile ApplicationWtfHandler sDefaultApplicationWtfHandler;
@@ -105,6 +107,8 @@ public class RuntimeInit {
// first clause in either of these two cases, only for system_server.
if (mApplicationObject == null && (Process.SYSTEM_UID == Process.myUid())) {
Clog_e(TAG, "*** FATAL EXCEPTION IN SYSTEM PROCESS: " + t.getName(), e);
+ mCrashCount = SystemProperties.getInt(SYSPROP_CRASH_COUNT, 0) + 1;
+ SystemProperties.set(SYSPROP_CRASH_COUNT, String.valueOf(mCrashCount));
} else {
logUncaught(t.getName(), ActivityThread.currentProcessName(), Process.myPid(), e);
}