Log native crashing process
Use the new sys.init.updatable_crashing_process_name in
Watchdog-triggered rollback logs in order to track the
process that causes updatable_crashing to be set.
Test: Run atest StagedRollbackTest#testNativeWatchdogTriggersRollback,
manually test correct process "zygote" is sent to logs.
Bug: 146415463
Change-Id: I81b55dbf9dc74c9b8d505988b99f7e97ef659fe9
Merged-In: I81b55dbf9dc74c9b8d505988b99f7e97ef659fe9
(cherry picked from commit cf6a399e00)
This commit is contained in:
@@ -120,6 +120,13 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
|
||||
RollbackInfo rollback = getAvailableRollback(rollbackManager, failedPackage);
|
||||
int reasonToLog = mapFailureReasonToMetric(rollbackReason);
|
||||
|
||||
final String failedPackageToLog;
|
||||
if (rollbackReason == PackageWatchdog.FAILURE_REASON_NATIVE_CRASH) {
|
||||
failedPackageToLog = SystemProperties.get(
|
||||
"ro.init.updatable_crashing_process_name", "");
|
||||
} else {
|
||||
failedPackageToLog = failedPackage.getPackageName();
|
||||
}
|
||||
if (rollback == null) {
|
||||
Slog.w(TAG, "Expected rollback but no valid rollback found for package: [ "
|
||||
+ failedPackage.getPackageName() + "] with versionCode: ["
|
||||
@@ -129,7 +136,7 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
|
||||
|
||||
logEvent(moduleMetadataPackage,
|
||||
StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE,
|
||||
reasonToLog, failedPackage.getPackageName());
|
||||
reasonToLog, failedPackageToLog);
|
||||
LocalIntentReceiver rollbackReceiver = new LocalIntentReceiver((Intent result) -> {
|
||||
int status = result.getIntExtra(RollbackManager.EXTRA_STATUS,
|
||||
RollbackManager.STATUS_FAILURE);
|
||||
@@ -147,12 +154,12 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
|
||||
} else {
|
||||
logEvent(moduleMetadataPackage,
|
||||
StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
|
||||
reasonToLog, failedPackage.getPackageName());
|
||||
reasonToLog, failedPackageToLog);
|
||||
}
|
||||
} else {
|
||||
logEvent(moduleMetadataPackage,
|
||||
StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
|
||||
reasonToLog, failedPackage.getPackageName());
|
||||
reasonToLog, failedPackageToLog);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user