The test intentionally produces a core file (at what is suppose to be a point where the JVM is "stable"), and then does various clhsdb commands on the core file.
printmdo -a
printall
jstack -v
The output is truncated because it is so large. Before truncation, the output of the "printmdo" command appears to be working, but after truncation you start to see the following exception which is indicative of being in the middle of a GC or class loading. Based on the CommandProcessor$20.doit() line number, this is happening during the "printall" command.
java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
at java.base/java.util.Objects.checkIndex(Objects.java:365)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPoolCache.getEntryAt(ConstantPoolCache.java:86)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.BytecodeWithCPIndex.indexForFieldOrMethod(BytecodeWithCPIndex.java:60)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.BytecodeGetPut.toString(BytecodeGetPut.java:58)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.classbrowser.HTMLGenerator$1.visit(HTMLGenerator.java:685)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.BytecodeDisassembler.decode(BytecodeDisassembler.java:156)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.classbrowser.HTMLGenerator.genHTML(HTMLGenerator.java:659)
at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor$20$1.visit(CommandProcessor.java:967)
at jdk.hotspot.agent/sun.jvm.hotspot.classfile.ClassLoaderData.classesDo(ClassLoaderData.java:107)
at jdk.hotspot.agent/sun.jvm.hotspot.classfile.ClassLoaderDataGraph.classesDo(ClassLoaderDataGraph.java:84)
at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor$20.doit(CommandProcessor.java:960)
at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:2212)
at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:2182)
at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:2053)
at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:112)
at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:44)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runCLHSDB(SALauncher.java:281)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:500)
Then at the end, during the jstack, another indication that we may be in the middle of a GC because we cannot get from a hotspot JavaThread object to the Thread object to get the name of the Thread:
WARNING: could not get Thread object: sun.jvm.hotspot.debugger.UnmappedAddressException: 7eff013b8
Could not get the java Thread object. Thread info will be limited.
Because the Thread names are not printed, "Common-Cleaner" is not found in the output so the test complains and fails.