-
Bug
-
Resolution: Unresolved
-
P3
-
25
Reproducible with attached test case:
$ java -XX:-BackgroundCompilation TestLoadSplitThruPhiNull
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/loopnode.hpp:1003), pid=420882, tid=420900
# Error: assert(has_node(i)) failed
#
# JRE version: OpenJDK Runtime Environment (25.0) (fastdebug build 25-internal-adhoc.roland.jdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 25-internal-adhoc.roland.jdk-jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x139fd2a] PhaseIdealLoop::get_ctrl(Node const*)+0x3ea
#
call stack:
Stack: [0x00007f9a48cf1000,0x00007f9a48df1000], sp=0x00007f9a48debd40, free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x139fd2a] PhaseIdealLoop::get_ctrl(Node const*)+0x3ea (loopnode.hpp:1003)
V [libjvm.so+0x13e91ce] PhaseIdealLoop::split_thru_phi(Node*, Node*, int)+0x53e (loopopts.cpp:192)
V [libjvm.so+0x13ee2b3] PhaseIdealLoop::split_if_with_blocks_pre(Node*)+0x2c3 (loopopts.cpp:1226)
V [libjvm.so+0x13f33c5] PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x1f5 (loopopts.cpp:1982)
V [libjvm.so+0x13e42d5] PhaseIdealLoop::build_and_optimize()+0x10c5 (loopnode.cpp:4889)
V [libjvm.so+0xa9f62f] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x3cf (loopnode.hpp:1113)
V [libjvm.so+0xa985bc] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x5c (compile.cpp:2183)
V [libjvm.so+0xa99322] Compile::Optimize()+0xa92 (compile.cpp:2430)
V [libjvm.so+0xa9d2cf] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1baf (compile.cpp:852)
V [libjvm.so+0x8dba18] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1c8 (c2compiler.cpp:142)
V [libjvm.so+0xaa9de1] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xad1 (compileBroker.cpp:2319)
V [libjvm.so+0xaaad48] CompileBroker::compiler_thread_loop()+0x4e8 (compileBroker.cpp:1977)
V [libjvm.so+0xfc3f1e] JavaThread::thread_main_inner()+0xee (javaThread.cpp:776)
V [libjvm.so+0x1b09386] Thread::call_run()+0xb6 (thread.cpp:232)
V [libjvm.so+0x160f618] thread_native_entry(Thread*)+0x128 (os_linux.cpp:860)
C [libc.so.6+0x961b7] start_thread+0x377
assert added by 8343148 is causing the failure but underlying (minor) issue has likely been present for a while.
$ java -XX:-BackgroundCompilation TestLoadSplitThruPhiNull
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/loopnode.hpp:1003), pid=420882, tid=420900
# Error: assert(has_node(i)) failed
#
# JRE version: OpenJDK Runtime Environment (25.0) (fastdebug build 25-internal-adhoc.roland.jdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 25-internal-adhoc.roland.jdk-jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x139fd2a] PhaseIdealLoop::get_ctrl(Node const*)+0x3ea
#
call stack:
Stack: [0x00007f9a48cf1000,0x00007f9a48df1000], sp=0x00007f9a48debd40, free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x139fd2a] PhaseIdealLoop::get_ctrl(Node const*)+0x3ea (loopnode.hpp:1003)
V [libjvm.so+0x13e91ce] PhaseIdealLoop::split_thru_phi(Node*, Node*, int)+0x53e (loopopts.cpp:192)
V [libjvm.so+0x13ee2b3] PhaseIdealLoop::split_if_with_blocks_pre(Node*)+0x2c3 (loopopts.cpp:1226)
V [libjvm.so+0x13f33c5] PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x1f5 (loopopts.cpp:1982)
V [libjvm.so+0x13e42d5] PhaseIdealLoop::build_and_optimize()+0x10c5 (loopnode.cpp:4889)
V [libjvm.so+0xa9f62f] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x3cf (loopnode.hpp:1113)
V [libjvm.so+0xa985bc] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x5c (compile.cpp:2183)
V [libjvm.so+0xa99322] Compile::Optimize()+0xa92 (compile.cpp:2430)
V [libjvm.so+0xa9d2cf] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1baf (compile.cpp:852)
V [libjvm.so+0x8dba18] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1c8 (c2compiler.cpp:142)
V [libjvm.so+0xaa9de1] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xad1 (compileBroker.cpp:2319)
V [libjvm.so+0xaaad48] CompileBroker::compiler_thread_loop()+0x4e8 (compileBroker.cpp:1977)
V [libjvm.so+0xfc3f1e] JavaThread::thread_main_inner()+0xee (javaThread.cpp:776)
V [libjvm.so+0x1b09386] Thread::call_run()+0xb6 (thread.cpp:232)
V [libjvm.so+0x160f618] thread_native_entry(Thread*)+0x128 (os_linux.cpp:860)
C [libc.so.6+0x961b7] start_thread+0x377
assert added by 8343148 is causing the failure but underlying (minor) issue has likely been present for a while.
- relates to
-
JDK-8343148 C2: Refactor uses of "PhaseValue::*con*() + PhaseIdealLoop::set_ctrl()" into separate method
- Resolved
- links to
-
Review(master) openjdk/jdk/22818