From 88fa3e2dc1436ff813287b5a5a01035081c400b3 Mon Sep 17 00:00:00 2001 From: David Song Date: Tue, 17 Sep 2024 15:37:13 -0700 Subject: Add null check before starting delayed cpuset task This prevents a NullPointerException in onBootPhase when CpuMonitorService fails to initialize mHandler during onStart. Specifically, this can happen on systems where Cpuset and Cpufreq features are not implemented, but they should not prevent Android from booting up. Bug: b/367393410 Change-Id: I02be8208ec1129e99f98992cf912c2138a36540a --- services/core/java/com/android/server/cpu/CpuMonitorService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/cpu/CpuMonitorService.java b/services/core/java/com/android/server/cpu/CpuMonitorService.java index 88ff7e4103f9..2cadbc58d0f2 100644 --- a/services/core/java/com/android/server/cpu/CpuMonitorService.java +++ b/services/core/java/com/android/server/cpu/CpuMonitorService.java @@ -216,7 +216,7 @@ public final class CpuMonitorService extends SystemService { @Override public void onBootPhase(int phase) { - if (phase != PHASE_BOOT_COMPLETED) { + if (phase != PHASE_BOOT_COMPLETED || mHandler == null) { return; } Slogf.i(TAG, "Stopping periodic cpuset reading on boot complete"); -- cgit v1.2.3-59-g8ed1b