Skip to content

Commit 0c6c21a

Browse files
committed
Handle JavaMainSupport.getJavaCommand being null when not invoking Java main.
1 parent 2e41905 commit 0c6c21a

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/management/Target_jdk_internal_vm_VMSupport.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
package com.oracle.svm.core.jdk.management;
2828

29+
import java.util.Objects;
2930
import java.util.Properties;
3031

3132
import org.graalvm.nativeimage.ImageSingletons;
@@ -46,9 +47,10 @@ public final class Target_jdk_internal_vm_VMSupport {
4647
private static Properties initAgentProperties(Properties properties) {
4748
if (ImageSingletons.contains(JavaMainSupport.class)) {
4849
JavaMainSupport support = ImageSingletons.lookup(JavaMainSupport.class);
49-
properties.setProperty("sun.jvm.args", support.getJavaCommand());
50+
String javaCommand = Objects.requireNonNullElse(support.getJavaCommand(), "");
51+
properties.setProperty("sun.jvm.args", javaCommand);
5052
properties.setProperty("sun.jvm.flags", "");
51-
properties.setProperty("sun.java.command", support.getJavaCommand());
53+
properties.setProperty("sun.java.command", javaCommand);
5254
}
5355
return properties;
5456
}

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jvmstat/SystemCounters.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import java.lang.management.ManagementFactory;
2828
import java.lang.management.ThreadMXBean;
29+
import java.util.Objects;
2930
import java.util.concurrent.TimeUnit;
3031

3132
import org.graalvm.nativeimage.ImageSingletons;
@@ -34,14 +35,14 @@
3435

3536
import com.oracle.svm.core.Isolates;
3637
import com.oracle.svm.core.JavaMainWrapper;
37-
import com.oracle.svm.guest.staging.Uninterruptible;
3838
import com.oracle.svm.core.attach.AttachApiSupport;
3939
import com.oracle.svm.core.heap.Heap;
4040
import com.oracle.svm.core.imagelayer.ImageLayerBuildingSupport;
4141
import com.oracle.svm.core.jdk.SystemPropertiesSupport;
4242
import com.oracle.svm.core.thread.VMOperation;
4343
import com.oracle.svm.core.thread.VMOperationListener;
4444
import com.oracle.svm.core.util.BasedOnJDKFile;
45+
import com.oracle.svm.guest.staging.Uninterruptible;
4546
import com.sun.management.OperatingSystemMXBean;
4647

4748
/**
@@ -203,7 +204,7 @@ private static long getAvailableProcessors() {
203204

204205
private static String getJavaCommand() {
205206
JavaMainWrapper.JavaMainSupport support = ImageSingletons.lookup(JavaMainWrapper.JavaMainSupport.class);
206-
return support.getJavaCommand();
207+
return Objects.requireNonNullElse(support.getJavaCommand(), "");
207208
}
208209

209210
private static String getVmArgs() {

0 commit comments

Comments
 (0)