From 58a4c3ba131e9ba4153886e62f6f0875cf25150a Mon Sep 17 00:00:00 2001 From: Edgar Arriaga Date: Wed, 2 Mar 2022 19:59:09 -0800 Subject: [PATCH] Fix for race condition when clearing compaction list Bug: 221256472 Test: Manual Change-Id: Id187052048d0087202b9eed4b16267706f49373c --- .../core/java/com/android/server/am/CachedAppOptimizer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index 86ca6994eeed9..b18d390476f02 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -1056,7 +1056,9 @@ public final class CachedAppOptimizer { if(wakefulness == PowerManagerInternal.WAKEFULNESS_AWAKE) { // Remove any pending compaction we may have scheduled to happen while screen was off Slog.e(TAG_AM, "Cancel pending or running compactions as system is awake"); - mPendingCompactionProcesses.clear(); + synchronized(mProcLock) { + mPendingCompactionProcesses.clear(); + } cancelCompaction(); } }