From 84aa5a864f5b8a59845bbda761725fefab71e3cc Mon Sep 17 00:00:00 2001 From: Erik Wolsheimer Date: Tue, 7 Feb 2017 20:54:20 -0800 Subject: [PATCH] DO NOT MERGE Guard against null entries in process list during updateOomAdjLocked BUG: 34312358 Change-Id: I9b303d443b082bba8b440e6e1ef68b050a970386 --- .../java/com/android/server/am/ActivityManagerService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 905bd3dddd836..35809d67facea 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -20978,6 +20978,9 @@ public final class ActivityManagerService extends ActivityManagerNative int nextEmptyAdj = curEmptyAdj+2; for (int i=N-1; i>=0; i--) { ProcessRecord app = mLruProcesses.get(i); + if (app == null) { + continue; + } if (!app.killedByAm && app.thread != null) { app.procStateChanged = false; computeOomAdjLocked(app, ProcessList.UNKNOWN_ADJ, TOP_APP, true, now); @@ -21153,6 +21156,9 @@ public final class ActivityManagerService extends ActivityManagerNative int curLevel = ComponentCallbacks2.TRIM_MEMORY_COMPLETE; for (int i=N-1; i>=0; i--) { ProcessRecord app = mLruProcesses.get(i); + if (app == null) { + continue; + } if (allChanged || app.procStateChanged) { setProcessTrackerStateLocked(app, trackerMemFactor, now); app.procStateChanged = false;