Fix NullPointerException in PhantomProcessList due to race condition Bug: 194897294 Bug: 194146206 Test: atest AppChildProcessTest Test: atest CtsAppTestCases:ActivityManagerTest Change-Id: I5d395726d2ff404e8e82d21a7886511a06288c43 (cherry picked from commit 0a05f5475f1f9ea0e61bb69b9c98f4b8ef850b20)
diff --git a/services/core/java/com/android/server/am/PhantomProcessList.java b/services/core/java/com/android/server/am/PhantomProcessList.java index ca31681..b07684c 100644 --- a/services/core/java/com/android/server/am/PhantomProcessList.java +++ b/services/core/java/com/android/server/am/PhantomProcessList.java
@@ -365,6 +365,9 @@ private int onPhantomProcessFdEvent(FileDescriptor fd, int events) { synchronized (mLock) { final PhantomProcessRecord proc = mPhantomProcessesPidFds.get(fd.getInt$()); + if (proc == null) { + return 0; + } if ((events & EVENT_INPUT) != 0) { proc.onProcDied(true); } else {