-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: hotspot
When running
java -Xcomp -XX:LoopUnrollLimit=8192 -XX:CompileCommand=compileonly,Test2::test -XX:CompileCommand=IGVPrintLevel,Test2::test,6 Test2.java
One gets 3 compilations: the one due to -Xcomp that fall into a unloaded trap immediately, OSR, and non-OSR. If we look at the graph in the last compilation, because of unrolling, it looks long, reaching more than 17k nodes, in a long chain. IGV will refuse to display it because of a stack overflow:
A java.lang.StackOverflowError exception has occurred. Click Show Details or see the messages.log file located in your file://[...]src/utils/IdealGraphVisualizer/application/target/userdir/var/log/ folder.
java.lang.StackOverflowError
at java.base/java.util.HashMap.putVal(HashMap.java:627)
at java.base/java.util.HashMap.put(HashMap.java:610)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1194)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1239)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1239)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1239)
[last line repeated ~1000 times]
This was found duringJDK-8357781, as C2 was also stackoverflowing on the same example.
java -Xcomp -XX:LoopUnrollLimit=8192 -XX:CompileCommand=compileonly,Test2::test -XX:CompileCommand=IGVPrintLevel,Test2::test,6 Test2.java
One gets 3 compilations: the one due to -Xcomp that fall into a unloaded trap immediately, OSR, and non-OSR. If we look at the graph in the last compilation, because of unrolling, it looks long, reaching more than 17k nodes, in a long chain. IGV will refuse to display it because of a stack overflow:
A java.lang.StackOverflowError exception has occurred. Click Show Details or see the messages.log file located in your file://[...]src/utils/IdealGraphVisualizer/application/target/userdir/var/log/ folder.
java.lang.StackOverflowError
at java.base/java.util.HashMap.putVal(HashMap.java:627)
at java.base/java.util.HashMap.put(HashMap.java:610)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1194)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1239)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1239)
at com.sun.hotspot.igv.view.DiagramScene.processOutputSlot(DiagramScene.java:1239)
[last line repeated ~1000 times]
This was found during