-
Bug
-
Resolution: Fixed
-
P3
-
17, 21, 23, 24
-
b22
Attached test case fails with:
$ java -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:-TieredCompilation -XX:-UseLoopPredicate -XX:LoopMaxUnroll=0 TestSunkRangeFromPreLoopRCE
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/loopTransform.cpp:2915), pid=1988087, tid=1988096
# assert(is_dominator(compute_early_ctrl(limit, limit_ctrl), pre_end)) failed: node pinned on loop exit test?
#
# JRE version: OpenJDK Runtime Environment (24.0) (slowdebug build 24-internal-adhoc.roland.jdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 24-internal-adhoc.roland.jdk-jdk, mixed mode, compressed oops, compressed class ptrs, serial gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x11fc600] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0xa8c
Stack: [0x00007cfdd5300000,0x00007cfdd5400000], sp=0x00007cfdd53fac60, free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x126bd3e] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0xd6e (loopTransform.cpp:2952)
V [libjvm.so+0x126d16f] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x4bf
V [libjvm.so+0x126d3fe] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17e
V [libjvm.so+0x126d2b5] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x35
V [libjvm.so+0x1299a58] PhaseIdealLoop::build_and_optimize()+0xe18
V [libjvm.so+0x9e5920] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x390
V [libjvm.so+0x9de5c5] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x75
V [libjvm.so+0x9e0db1] Compile::Optimize()+0xe21
V [libjvm.so+0x9e43b6] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1af6
V [libjvm.so+0x83a325] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5
V [libjvm.so+0x9f0168] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928
V [libjvm.so+0x9f0de8] CompileBroker::compiler_thread_loop()+0x468
V [libjvm.so+0xe9a1dc] JavaThread::thread_main_inner()+0xcc
V [libjvm.so+0x17b7f96] Thread::call_run()+0xb6
V [libjvm.so+0x149f397] thread_native_entry(Thread*)+0x127
$ java -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:-TieredCompilation -XX:-UseLoopPredicate -XX:LoopMaxUnroll=0 TestSunkRangeFromPreLoopRCE
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/loopTransform.cpp:2915), pid=1988087, tid=1988096
# assert(is_dominator(compute_early_ctrl(limit, limit_ctrl), pre_end)) failed: node pinned on loop exit test?
#
# JRE version: OpenJDK Runtime Environment (24.0) (slowdebug build 24-internal-adhoc.roland.jdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 24-internal-adhoc.roland.jdk-jdk, mixed mode, compressed oops, compressed class ptrs, serial gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x11fc600] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0xa8c
Stack: [0x00007cfdd5300000,0x00007cfdd5400000], sp=0x00007cfdd53fac60, free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x126bd3e] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0xd6e (loopTransform.cpp:2952)
V [libjvm.so+0x126d16f] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x4bf
V [libjvm.so+0x126d3fe] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17e
V [libjvm.so+0x126d2b5] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x35
V [libjvm.so+0x1299a58] PhaseIdealLoop::build_and_optimize()+0xe18
V [libjvm.so+0x9e5920] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x390
V [libjvm.so+0x9de5c5] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x75
V [libjvm.so+0x9e0db1] Compile::Optimize()+0xe21
V [libjvm.so+0x9e43b6] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1af6
V [libjvm.so+0x83a325] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5
V [libjvm.so+0x9f0168] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928
V [libjvm.so+0x9f0de8] CompileBroker::compiler_thread_loop()+0x468
V [libjvm.so+0xe9a1dc] JavaThread::thread_main_inner()+0xcc
V [libjvm.so+0x17b7f96] Thread::call_run()+0xb6
V [libjvm.so+0x149f397] thread_native_entry(Thread*)+0x127
- relates to
-
JDK-8314024 SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
- Closed
- links to
-
Commit(master) openjdk/jdk/004aaea7
-
Review(master) openjdk/jdk/21601