From c067124ee4d44d40c5d27302c93399ff390a65c5 Mon Sep 17 00:00:00 2001 From: Edgar Arriaga Date: Wed, 16 Feb 2022 10:19:49 -0800 Subject: [PATCH] Fix for crash in system_server due to IndexOutOfBoundsException This became necessary since now we cancel compactions so it is possible to have a list without elements when the compaction system is ready to start a compaction. Bug: 219901263 Test: Manual Change-Id: I44d95d243ba95aea6c84283ddef1a38ffb6d3570 --- .../core/java/com/android/server/am/CachedAppOptimizer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index 7af73ebda0c0e..3e60fc567610c 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -1105,6 +1105,9 @@ public final class CachedAppOptimizer { int lastOomAdj = msg.arg1; int procState = msg.arg2; synchronized (mProcLock) { + if(mPendingCompactionProcesses.isEmpty()) { + return; + } proc = mPendingCompactionProcesses.remove(0); opt = proc.mOptRecord;