-
Bug
-
Resolution: Fixed
-
P3
-
19
-
b25
IGV's schedule approximation algorithm assumes that all CFG nodes are reachable from the Root node. This assumption is violated by ill-formed graphs with components that are unreachable from the root, leading to crashes and failure to approximate the schedule and viewing the graph. IGV should handle such cases, as debugging inconsistent graphs is a key use case.
HOW TO REPRODUCE:
Unzip and open crash.zip (attached) in IGV. The following failure is printed to .igv.log:
[INFO] java.lang.AssertionError: duplicate : Node 8 [bci=9, category=data, con=3, debug_idx=-2144031193, dump_spec=FramePtr, idx=51, is_
dead_loop_safe=true, jvms=InterceptorMethodHandler::getInterceptionChain @ bci:9 (line 92), line=92, name=Parm, short_name=RP, type=rawp
tr:]
[INFO] at com.sun.hotspot.igv.data.InputBlock.addNode(InputBlock.java:97)
[INFO] at com.sun.hotspot.igv.data.InputGraph.ensureNodesInBlocks(InputGraph.java:178)
The issue can also be reproduced on npe.zip (attached).
HOW TO REPRODUCE:
Unzip and open crash.zip (attached) in IGV. The following failure is printed to .igv.log:
[INFO] java.lang.AssertionError: duplicate : Node 8 [bci=9, category=data, con=3, debug_idx=-2144031193, dump_spec=FramePtr, idx=51, is_
dead_loop_safe=true, jvms=InterceptorMethodHandler::getInterceptionChain @ bci:9 (line 92), line=92, name=Parm, short_name=RP, type=rawp
tr:]
[INFO] at com.sun.hotspot.igv.data.InputBlock.addNode(InputBlock.java:97)
[INFO] at com.sun.hotspot.igv.data.InputGraph.ensureNodesInBlocks(InputGraph.java:178)
The issue can also be reproduced on npe.zip (attached).
- duplicates
-
JDK-8287164 IGV: NPE in InputBlock::addNode()
-
- Closed
-