From d564a7a91467cfa55ddd452581318d50983f3510 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 96b8a5dd573b98..21381d68cc96eb 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 @@ -140,13 +140,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 @@ -182,7 +182,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;