summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Makoto Onuki <omakoto@google.com> 2021-06-11 10:47:39 -0700
committer Makoto Onuki <omakoto@google.com> 2021-06-11 10:47:39 -0700
commitca99b6869f4a7c1d6417eba0ce610270f7bfa605 (patch)
tree7ed3fbfc067f2051e9f48f914d88bc8a9bf2ed8e
parent271c600617c66e97afca9354843b54b1b02a4865 (diff)
Fix divide by zero
Fix: 190638632 Test: Boot Change-Id: Ib21141ef549f11692258cf8f062cea0bbfba84c1
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java2
-rw-r--r--services/core/java/com/android/server/am/ProcessList.java6
2 files changed, 4 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index c841fa3b057c..4c25d957155e 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -14309,7 +14309,7 @@ public class ActivityManagerService extends IActivityManager.Stub
private boolean checkExcessivePowerUsageLPr(final long uptimeSince, boolean doCpuKills,
final long cputimeUsed, final String processName, final String description,
final int cpuLimit, final ProcessRecord app) {
- if (DEBUG_POWER) {
+ if (DEBUG_POWER && (uptimeSince > 0)) {
StringBuilder sb = new StringBuilder(128);
sb.append("CPU for ");
sb.append(description);
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 3bfd62b60c89..8ebc987a59f4 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -4289,8 +4289,8 @@ public final class ProcessList {
if (state.getSetProcState() >= ActivityManager.PROCESS_STATE_SERVICE) {
long lastCpuTime = r.mProfile.mLastCpuTime.get();
- if (lastCpuTime != 0) {
- long uptimeSince = curUptime - service.mLastPowerCheckUptime;
+ long uptimeSince = curUptime - service.mLastPowerCheckUptime;
+ if (lastCpuTime != 0 && uptimeSince > 0) {
long timeUsed = r.mProfile.mCurCpuTime.get() - lastCpuTime;
long cpuTimeToken = proto.start(ProcessOomProto.Detail.SERVICE_RUN_TIME);
proto.write(ProcessOomProto.Detail.CpuRunTime.OVER_MS, uptimeSince);
@@ -4427,7 +4427,7 @@ public final class ProcessList {
if (state.getSetProcState() >= ActivityManager.PROCESS_STATE_SERVICE) {
long lastCpuTime = r.mProfile.mLastCpuTime.get();
- if (lastCpuTime != 0) {
+ if (lastCpuTime != 0 && uptimeSince > 0) {
long timeUsed = r.mProfile.mCurCpuTime.get() - lastCpuTime;
pw.print(prefix);
pw.print(" ");