-
Bug
-
Resolution: Fixed
-
P4
-
24
-
master
The attached Test fails after JDK-8342043 with an assertion which was introduced as a best guess. We would bail out anyways but I was unsure if we can even end up with other nodes there. As it turns out, we can. I think we can safely remove the assertion again.
To reproduce:
$ java -XX:CompileOnly=Test::test* -Xcomp Test.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/christian/jdk2/open/src/hotspot/share/opto/escape.cpp:584), pid=333608, tid=333622
# assert(iff->in(1)->is_OpaqueNotNull()) failed: must be OpaqueNotNull
#
# JRE version: Java(TM) SE Runtime Environment (24.0) (slowdebug build 24-internal-2024-10-31-0914380.christian...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 24-internal-2024-10-31-0914380.christian..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xc34198] ConnectionGraph::can_reduce_check_users(Node*, unsigned int) const+0x7e2
..............
Command Line: -XX:CompileOnly=Test::test* -Xcomp --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher Test.java
..............
Current CompileTask:
C2:6840 84 b 4 Test::testParsePredicate (58 bytes)
Stack: [0x0000779ff40c7000,0x0000779ff41c7000], sp=0x0000779ff41c19f0, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xc34198] ConnectionGraph::can_reduce_check_users(Node*, unsigned int) const+0x7e2 (escape.cpp:584)
V [libjvm.so+0xc34514] ConnectionGraph::can_reduce_phi(PhiNode*) const+0x100 (escape.cpp:634)
V [libjvm.so+0xc3df6e] ConnectionGraph::adjust_scalar_replaceable_state(JavaObjectNode*, Unique_Node_List&)+0x438 (escape.cpp:2945)
V [libjvm.so+0xc32a0f] ConnectionGraph::compute_escape()+0xbc1 (escape.cpp:309)
V [libjvm.so+0xc31dae] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x11a (escape.cpp:119)
V [libjvm.so+0xa099b4] Compile::Optimize()+0x7fc (compile.cpp:2332)
V [libjvm.so+0xa027de] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15e0 (compile.cpp:852)
V [libjvm.so+0x8ccb91] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f3 (c2compiler.cpp:142)
V [libjvm.so+0xa256cf] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa1f (compileBroker.cpp:2303)
V [libjvm.so+0xa24150] CompileBroker::compiler_thread_loop()+0x40e (compileBroker.cpp:1961)
V [libjvm.so+0xa43a31] CompilerThread::thread_entry(JavaThread*, JavaThread*)+0x89 (compilerThread.cpp:65)
V [libjvm.so+0xe87116] JavaThread::thread_main_inner()+0x168 (javaThread.cpp:759)
V [libjvm.so+0xe86fab] JavaThread::run()+0x1d7 (javaThread.cpp:744)
V [libjvm.so+0x16273d3] Thread::call_run()+0x1b9 (thread.cpp:234)
V [libjvm.so+0x13a500a] thread_native_entry(Thread*)+0x1cb (os_linux.cpp:858)
To reproduce:
$ java -XX:CompileOnly=Test::test* -Xcomp Test.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/christian/jdk2/open/src/hotspot/share/opto/escape.cpp:584), pid=333608, tid=333622
# assert(iff->in(1)->is_OpaqueNotNull()) failed: must be OpaqueNotNull
#
# JRE version: Java(TM) SE Runtime Environment (24.0) (slowdebug build 24-internal-2024-10-31-0914380.christian...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 24-internal-2024-10-31-0914380.christian..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xc34198] ConnectionGraph::can_reduce_check_users(Node*, unsigned int) const+0x7e2
..............
Command Line: -XX:CompileOnly=Test::test* -Xcomp --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher Test.java
..............
Current CompileTask:
C2:6840 84 b 4 Test::testParsePredicate (58 bytes)
Stack: [0x0000779ff40c7000,0x0000779ff41c7000], sp=0x0000779ff41c19f0, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xc34198] ConnectionGraph::can_reduce_check_users(Node*, unsigned int) const+0x7e2 (escape.cpp:584)
V [libjvm.so+0xc34514] ConnectionGraph::can_reduce_phi(PhiNode*) const+0x100 (escape.cpp:634)
V [libjvm.so+0xc3df6e] ConnectionGraph::adjust_scalar_replaceable_state(JavaObjectNode*, Unique_Node_List&)+0x438 (escape.cpp:2945)
V [libjvm.so+0xc32a0f] ConnectionGraph::compute_escape()+0xbc1 (escape.cpp:309)
V [libjvm.so+0xc31dae] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x11a (escape.cpp:119)
V [libjvm.so+0xa099b4] Compile::Optimize()+0x7fc (compile.cpp:2332)
V [libjvm.so+0xa027de] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15e0 (compile.cpp:852)
V [libjvm.so+0x8ccb91] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f3 (c2compiler.cpp:142)
V [libjvm.so+0xa256cf] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa1f (compileBroker.cpp:2303)
V [libjvm.so+0xa24150] CompileBroker::compiler_thread_loop()+0x40e (compileBroker.cpp:1961)
V [libjvm.so+0xa43a31] CompilerThread::thread_entry(JavaThread*, JavaThread*)+0x89 (compilerThread.cpp:65)
V [libjvm.so+0xe87116] JavaThread::thread_main_inner()+0x168 (javaThread.cpp:759)
V [libjvm.so+0xe86fab] JavaThread::run()+0x1d7 (javaThread.cpp:744)
V [libjvm.so+0x16273d3] Thread::call_run()+0x1b9 (thread.cpp:234)
V [libjvm.so+0x13a500a] thread_native_entry(Thread*)+0x1cb (os_linux.cpp:858)
- relates to
-
JDK-8342043 Split Opaque4Node into OpaqueTemplateAssertionPredicateNode and OpaqueNotNullNode
- Resolved
- links to
-
Commit(master) openjdk/jdk/6f6cfe64
-
Review(master) openjdk/jdk/21805