Trying to "Compute Liveness" from a Show Objects of Type window, where the objects are of type java.lang.String results in a java.lang.IndexOutOfBoundsException. The stack trace is as follows:
java.lang.IndexOutOfBoundsException: 29 6
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPoolCache.getEntryAt(ConstantPoolCache.java:77)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.invokedynamicCPCacheEntryAt(ConstantPool.java:274)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.implNameAndTypeRefIndexAt(ConstantPool.java:282)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.implGetSignatureRefAt(ConstantPool.java:254)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.getSignatureRefAt(ConstantPool.java:246)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.doMethod(GenerateOopMap.java:1731)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.interp1(GenerateOopMap.java:1386)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.interpBB(GenerateOopMap.java:803)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.interpAll(GenerateOopMap.java:1109)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.doInterpretation(GenerateOopMap.java:982)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.computeMap(GenerateOopMap.java:2199)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.OopMapForCacheEntry.computeMap(OopMapForCacheEntry.java:80)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.OopMapCacheEntry.fill(OopMapCacheEntry.java:53)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.Method.getMaskFor(Method.java:261)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Frame.oopsInterpretedDo(Frame.java:588)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Frame.oopsDo(Frame.java:440)
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.ReversePtrsAnalysis.doStack(ReversePtrsAnalysis.java:300)
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.ReversePtrsAnalysis.run(ReversePtrsAnalysis.java:102)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.ObjectListPanel$5.run(ObjectListPanel.java:294)
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.WorkerThread$MainLoop.run(WorkerThread.java:70)
at java.base/java.lang.Thread.run(Thread.java:844)
=================================================
The prg used:
class UtfStringTest {
public static void main(String[] args) {
String utfStr = "ä;ë:êê";
String latinStr = "aeiou";
String conStr = utfStr + latinStr;
System.out.println("conStr " + conStr);
for (;;){}
}
}
java.lang.IndexOutOfBoundsException: 29 6
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPoolCache.getEntryAt(ConstantPoolCache.java:77)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.invokedynamicCPCacheEntryAt(ConstantPool.java:274)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.implNameAndTypeRefIndexAt(ConstantPool.java:282)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.implGetSignatureRefAt(ConstantPool.java:254)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.ConstantPool.getSignatureRefAt(ConstantPool.java:246)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.doMethod(GenerateOopMap.java:1731)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.interp1(GenerateOopMap.java:1386)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.interpBB(GenerateOopMap.java:803)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.interpAll(GenerateOopMap.java:1109)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.doInterpretation(GenerateOopMap.java:982)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.GenerateOopMap.computeMap(GenerateOopMap.java:2199)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.OopMapForCacheEntry.computeMap(OopMapForCacheEntry.java:80)
at jdk.hotspot.agent/sun.jvm.hotspot.interpreter.OopMapCacheEntry.fill(OopMapCacheEntry.java:53)
at jdk.hotspot.agent/sun.jvm.hotspot.oops.Method.getMaskFor(Method.java:261)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Frame.oopsInterpretedDo(Frame.java:588)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Frame.oopsDo(Frame.java:440)
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.ReversePtrsAnalysis.doStack(ReversePtrsAnalysis.java:300)
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.ReversePtrsAnalysis.run(ReversePtrsAnalysis.java:102)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.ObjectListPanel$5.run(ObjectListPanel.java:294)
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.WorkerThread$MainLoop.run(WorkerThread.java:70)
at java.base/java.lang.Thread.run(Thread.java:844)
=================================================
The prg used:
class UtfStringTest {
public static void main(String[] args) {
String utfStr = "ä;ë:êê";
String latinStr = "aeiou";
String conStr = utfStr + latinStr;
System.out.println("conStr " + conStr);
for (;;){}
}
}
- links to