From 5c4becc5b4b13f7e8870dfc2367579a25af20574 Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 2 Feb 2024 02:49:56 -0800 Subject: [PATCH] Fix NPE in ResourceManager when collecting local resource estimation in the profiler. Fixes #21133. RELNOTES: None. PiperOrigin-RevId: 603631744 Change-Id: Ied224fd14e2be1465098135e0cab87584bbedb28 --- .../google/devtools/build/lib/actions/ResourceManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/actions/ResourceManager.java b/src/main/java/com/google/devtools/build/lib/actions/ResourceManager.java index b4e0bbcec419a3..8896773f8d1967 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ResourceManager.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ResourceManager.java @@ -165,13 +165,13 @@ public static ResourceManager instance() { /** Returns prediction of RAM in Mb used by registered actions. */ @Override public double getUsedMemoryInMb() { - return usedResources.get(ResourceSet.MEMORY); + return usedResources.getOrDefault(ResourceSet.MEMORY, 0d); } /** Returns prediction of CPUs used by registered actions. */ @Override public double getUsedCPU() { - return usedResources.get(ResourceSet.CPU); + return usedResources.getOrDefault(ResourceSet.CPU, 0d); } // Allocated resources are allowed to go "negative", but at least @@ -207,7 +207,7 @@ public double getUsedCPU() { // Used amount of resources. Corresponds to the resource // definition in the ResourceSet class. - private Map usedResources; + private Map usedResources = new HashMap<>(); // Used local test count. Corresponds to the local test count definition in the ResourceSet class. private int usedLocalTestCount;