Merge "Improve logging for why a staged session was reverted"

This commit is contained in:
Mohammad Islam
2020-11-04 21:49:57 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 7 deletions

View File

@@ -1060,7 +1060,9 @@ class PackageManagerShellCommand extends ShellCommand {
+ "; isStaged = " + session.isStaged()
+ "; isReady = " + session.isStagedSessionReady()
+ "; isApplied = " + session.isStagedSessionApplied()
+ "; isFailed = " + session.isStagedSessionFailed() + ";");
+ "; isFailed = " + session.isStagedSessionFailed()
+ "; errorMsg = " + session.getStagedSessionErrorMessage()
+ ";");
}
private Intent parseIntentAndUser() throws URISyntaxException {

View File

@@ -605,13 +605,14 @@ public class StagingManager {
// If checkpoint is supported, then we only resume sessions if we are in checkpointing
// mode. If not, we fail all sessions.
if (supportsCheckpoint() && !needsCheckpoint()) {
String errorMsg = "Reverting back to safe state. Marking " + session.sessionId
+ " as failed";
if (!TextUtils.isEmpty(mFailureReason)) {
errorMsg = errorMsg + ": " + mFailureReason;
String revertMsg = "Reverting back to safe state. Marking "
+ session.sessionId + " as failed.";
final String reasonForRevert = getReasonForRevert();
if (!TextUtils.isEmpty(reasonForRevert)) {
revertMsg += " Reason for revert: " + reasonForRevert;
}
Slog.d(TAG, errorMsg);
session.setStagedSessionFailed(SessionInfo.STAGED_SESSION_UNKNOWN, errorMsg);
Slog.d(TAG, revertMsg);
session.setStagedSessionFailed(SessionInfo.STAGED_SESSION_UNKNOWN, revertMsg);
return;
}
} catch (RemoteException e) {
@@ -715,6 +716,16 @@ public class StagingManager {
}
}
private String getReasonForRevert() {
if (!TextUtils.isEmpty(mFailureReason)) {
return mFailureReason;
}
if (!TextUtils.isEmpty(mNativeFailureReason)) {
return "Session reverted due to crashing native process: " + mNativeFailureReason;
}
return "";
}
private List<String> findAPKsInDir(File stageDir) {
List<String> ret = new ArrayList<>();
if (stageDir != null && stageDir.exists()) {