The test has failed a few times for this reason over the past year, but has for the most part been incorrectly linked to other CRs. Here's the failure:
LingeredApp stdout: [];
LingeredApp stderr: []
LingeredApp exitValue = 0
java.lang.RuntimeException: Test ERROR java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at ClhsdbJdis.main(ClhsdbJdis.java:89)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at ClhsdbJdis.main(ClhsdbJdis.java:62)
... 6 more
Looking at the code:
String cmdStr = null;
String[] parts = output.split("LingeredApp.main");
String[] tokens = parts[1].split(" ");
for (String token : tokens) {
if (token.contains("Method")) {
String[] address = token.split("=");
// address[1] represents the address of the Method
cmdStr = "jdis " + address[1];
cmds.add(cmdStr);
break;
}
}
The exception happens on the parts[1] reference. Probably we did not get the expected output. I also saw one case that had the same error on the address[1] reference. A subtask will be created to have this test do a better job of detecting the incomplete output, and report the output when this happens.