When run with --enable-preview, test compiler/c2/TestVerifyIterativeGVN.java crashes the VM with the following assert:
# Internal Error (/valhalla/open/src/hotspot/share/opto/node.cpp:376), pid=119744, tid=119761
# assert(is_not_dead(n1)) failed: can not use dead node
#
# JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-06-21-1558186.fred...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-06-21-1558186.fred..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x14e3639] Node::Node(Node*, Node*, Node*)+0x269
Stack trace:
Current thread (0x00007b3114478f70): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=119761, stack(0x00007b30fc800000,0x00007b30fc900000) (1024K)]
Current CompileTask:
C2:2166 200 b 4 java.lang.String::substring (58 bytes)
Stack: [0x00007b30fc800000,0x00007b30fc900000], sp=0x00007b30fc8fb110, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x14e3639] Node::Node(Node*, Node*, Node*)+0x269 (node.cpp:376)
V [libjvm.so+0xe03d7c] GraphKit::null_check_common(Node*, BasicType, bool, Node**, bool, bool)+0xcc (subnode.hpp:42)
V [libjvm.so+0xea7eed] InlineTypeNode::initialize_fields(GraphKit*, MultiNode*, unsigned int&, bool, bool, Node*, GrowableArray<ciType*>&)+0x3cd (inlinetypenode.cpp:1170)
V [libjvm.so+0xea8bb1] InlineTypeNode::make_from_multi(GraphKit*, MultiNode*, ciInlineKlass*, unsigned int&, bool, bool)+0x101 (inlinetypenode.cpp:985)
V [libjvm.so+0xdf9563] GraphKit::set_results_for_java_call(CallJavaNode*, bool, bool)+0xf3 (graphKit.cpp:1958)
V [libjvm.so+0x88237a] DirectCallGenerator::generate(JVMState*)+0x2ea (callGenerator.cpp:196)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xa3a941] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1781 (compile.cpp:804)
V [libjvm.so+0x878ce2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
V [libjvm.so+0xa46cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2305)
V [libjvm.so+0xa47968] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1964)
V [libjvm.so+0xf4983c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
V [libjvm.so+0x1875f16] Thread::call_run()+0xb6 (thread.cpp:221)
V [libjvm.so+0x155fd47] thread_native_entry(Thread*)+0x127 (os_linux.cpp:816)
C [libc.so.6+0x9ca94]
Registers:
RAX=0x00007b311e764000, RBX=0x00007b30a40ed978, RCX=0x00007b311db507b1, RDX=0x00007b311dcd4538
RSP=0x00007b30fc8fb110, RBP=0x00007b30fc8fb140, RSI=0x0000000000000178, RDI=0x00007b311dcd3db0
R8 =0x0000000000000000, R9 =0x0000000000000000, R10=0x00007b311e0fa4a8, R11=0x0000000000000000
R12=0x0000000000000000, R13=0x00007b30ac1ed170, R14=0x00007b30a40ed908, R15=0x00007b311e1aa644
RIP=0x00007b311d4e3639, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
# Internal Error (/valhalla/open/src/hotspot/share/opto/node.cpp:376), pid=119744, tid=119761
# assert(is_not_dead(n1)) failed: can not use dead node
#
# JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-06-21-1558186.fred...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-06-21-1558186.fred..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x14e3639] Node::Node(Node*, Node*, Node*)+0x269
Stack trace:
Current thread (0x00007b3114478f70): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=119761, stack(0x00007b30fc800000,0x00007b30fc900000) (1024K)]
Current CompileTask:
C2:2166 200 b 4 java.lang.String::substring (58 bytes)
Stack: [0x00007b30fc800000,0x00007b30fc900000], sp=0x00007b30fc8fb110, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x14e3639] Node::Node(Node*, Node*, Node*)+0x269 (node.cpp:376)
V [libjvm.so+0xe03d7c] GraphKit::null_check_common(Node*, BasicType, bool, Node**, bool, bool)+0xcc (subnode.hpp:42)
V [libjvm.so+0xea7eed] InlineTypeNode::initialize_fields(GraphKit*, MultiNode*, unsigned int&, bool, bool, Node*, GrowableArray<ciType*>&)+0x3cd (inlinetypenode.cpp:1170)
V [libjvm.so+0xea8bb1] InlineTypeNode::make_from_multi(GraphKit*, MultiNode*, ciInlineKlass*, unsigned int&, bool, bool)+0x101 (inlinetypenode.cpp:985)
V [libjvm.so+0xdf9563] GraphKit::set_results_for_java_call(CallJavaNode*, bool, bool)+0xf3 (graphKit.cpp:1958)
V [libjvm.so+0x88237a] DirectCallGenerator::generate(JVMState*)+0x2ea (callGenerator.cpp:196)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xbd62ea] Parse::do_call()+0x6ba (doCall.cpp:695)
V [libjvm.so+0x15c9de0] Parse::do_one_bytecode()+0x410 (parse2.cpp:3513)
V [libjvm.so+0x15b1dda] Parse::do_one_block()+0x20a (parse1.cpp:1675)
V [libjvm.so+0x15b3296] Parse::do_all_blocks()+0x136 (parse1.cpp:745)
V [libjvm.so+0x15b7aa6] Parse::Parse(JVMState*, ciMethod*, float)+0xe46 (parse1.cpp:649)
V [libjvm.so+0x87bebc] ParseGenerator::generate(JVMState*)+0x16c (callGenerator.cpp:100)
V [libjvm.so+0xa3a941] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1781 (compile.cpp:804)
V [libjvm.so+0x878ce2] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
V [libjvm.so+0xa46cec] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2305)
V [libjvm.so+0xa47968] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1964)
V [libjvm.so+0xf4983c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
V [libjvm.so+0x1875f16] Thread::call_run()+0xb6 (thread.cpp:221)
V [libjvm.so+0x155fd47] thread_native_entry(Thread*)+0x127 (os_linux.cpp:816)
C [libc.so.6+0x9ca94]
Registers:
RAX=0x00007b311e764000, RBX=0x00007b30a40ed978, RCX=0x00007b311db507b1, RDX=0x00007b311dcd4538
RSP=0x00007b30fc8fb110, RBP=0x00007b30fc8fb140, RSI=0x0000000000000178, RDI=0x00007b311dcd3db0
R8 =0x0000000000000000, R9 =0x0000000000000000, R10=0x00007b311e0fa4a8, R11=0x0000000000000000
R12=0x0000000000000000, R13=0x00007b30ac1ed170, R14=0x00007b30a40ed908, R15=0x00007b311e1aa644
RIP=0x00007b311d4e3639, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
- links to
-
Commit(lworld) openjdk/valhalla/db93ab26
-
Review(lworld) openjdk/valhalla/1200