Skip to content

Commit 8652b2a

Browse files
committed
Fix JvmOptions.java to work with native image
1 parent 4795008 commit 8652b2a

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

components/environment/src/main/java/datadog/environment/JvmOptions.java

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -53,29 +53,31 @@ private List<String> findVmOptions() {
5353
break;
5454
}
5555
}
56-
// Create list of VM options
57-
List<String> vmOptions = new ArrayList<>(asList(PROCFS_CMDLINE).subList(1, index + 1));
58-
ListIterator<String> iterator = vmOptions.listIterator();
59-
while (iterator.hasNext()) {
60-
String vmOption = iterator.next();
61-
if (vmOption.startsWith("@")) {
62-
iterator.remove();
63-
for (String argument : getArgumentsFromFile(vmOption)) {
64-
iterator.add(argument);
56+
if (index < PROCFS_CMDLINE.length) {
57+
// Create list of VM options
58+
List<String> vmOptions = new ArrayList<>(asList(PROCFS_CMDLINE).subList(1, index + 1));
59+
ListIterator<String> iterator = vmOptions.listIterator();
60+
while (iterator.hasNext()) {
61+
String vmOption = iterator.next();
62+
if (vmOption.startsWith("@")) {
63+
iterator.remove();
64+
for (String argument : getArgumentsFromFile(vmOption)) {
65+
iterator.add(argument);
66+
}
6567
}
6668
}
69+
// Insert JDK_JAVA_OPTIONS at the start if present and supported
70+
List<String> jdkJavaOptions = getJdkJavaOptions();
71+
if (!jdkJavaOptions.isEmpty()) {
72+
vmOptions.addAll(0, jdkJavaOptions);
73+
}
74+
// Insert JAVA_TOOL_OPTIONS at the start if present
75+
List<String> javaToolOptions = getJavaToolOptions();
76+
if (!javaToolOptions.isEmpty()) {
77+
vmOptions.addAll(0, javaToolOptions);
78+
}
79+
return vmOptions;
6780
}
68-
// Insert JDK_JAVA_OPTIONS at the start if present and supported
69-
List<String> jdkJavaOptions = getJdkJavaOptions();
70-
if (!jdkJavaOptions.isEmpty()) {
71-
vmOptions.addAll(0, jdkJavaOptions);
72-
}
73-
// Insert JAVA_TOOL_OPTIONS at the start if present
74-
List<String> javaToolOptions = getJavaToolOptions();
75-
if (!javaToolOptions.isEmpty()) {
76-
vmOptions.addAll(0, javaToolOptions);
77-
}
78-
return vmOptions;
7981
}
8082

8183
// Try Oracle-based

0 commit comments

Comments
 (0)