From 29895d998fc43d06f014ab9865cb2228d89c1941 Mon Sep 17 00:00:00 2001 From: jakki Date: Tue, 17 Dec 2024 21:27:26 +0200 Subject: [PATCH] Fix null pointer bug with populateAccelerators trying to get null AppleUtil GPU env value --- .../java/org/pytorch/serve/device/SystemInfo.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/device/SystemInfo.java b/frontend/server/src/main/java/org/pytorch/serve/device/SystemInfo.java index f2034ca186..0214db3acf 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/device/SystemInfo.java +++ b/frontend/server/src/main/java/org/pytorch/serve/device/SystemInfo.java @@ -71,11 +71,16 @@ private IAcceleratorUtility createAcceleratorUtility() { private void populateAccelerators() { if (this.acceleratorUtil != null) { String envVarName = this.acceleratorUtil.getGpuEnvVariableName(); - String requestedAcceleratorIds = System.getenv(envVarName); - LinkedHashSet availableAcceleratorIds = - IAcceleratorUtility.parseVisibleDevicesEnv(requestedAcceleratorIds); - this.accelerators = - this.acceleratorUtil.getAvailableAccelerators(availableAcceleratorIds); + if (envVarName != null) { + String requestedAcceleratorIds = System.getenv(envVarName); + LinkedHashSet availableAcceleratorIds = + IAcceleratorUtility.parseVisibleDevicesEnv(requestedAcceleratorIds); + this.accelerators = + this.acceleratorUtil.getAvailableAccelerators(availableAcceleratorIds); + } else { + // Handle the case where envVarName is null + this.accelerators = this.acceleratorUtil.getAvailableAccelerators(new LinkedHashSet<>()); + } } else { this.accelerators = new ArrayList<>(); }