compiler/valhalla/inlinetypes/TestFlatInArraysFolding.java#serialgc fails with a bad graph assertion with the following additional VM flag:
XX:+ExpandSubTypeCheckAtParseTime
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/f8dfb4e7-ae2d-48ec-aec1-afff79404935-S9556/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/f0b0dbec-b0de-4f71-9db8-e3c01fd3c029/runs/4676948d-774f-48fc-b966-b3bc8474b592/workspace/open/src/hotspot/share/opto/loopnode.cpp:5889), pid=2613332, tid=2613343
# assert(!had_error) failed: bad dominance
#
# JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-05-07-1722420.tobias.hartmann.valhalla)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-05-07-1722420.tobias.hartmann.valhalla, mixed mode, tiered, compressed oops, compressed class ptrs, serial gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x133e767] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x987
.......
Command Line: -Djava.library.path=/opt/mach5/mesos/work_dir/jib-master/install/2024-05-07-1722420.tobias.hartmann.valhalla/linux-x64-debug.test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/f8dfb4e7-ae2d-48ec-aec1-afff79404935-S9631/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7e1c0189-c36b-4ac7-94e4-98061aa32493/runs/c1e5c2e6-1d18-411a-b4de-2b61944da494/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_valhalla/tmp -XX:+UnlockDiagnosticVMOptions -XX:+ExpandSubTypeCheckAtParseTime -Dir.framework.server.port=43235 --enable-preview --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED -XX:+UseSerialGC -XX:+IgnoreUnrecognizedVMOptions -XX:LoopMaxUnroll=0 -XX:-BackgroundCompilation -XX:CompileCommand=quiet -DWarmup=0 compiler.lib.ir_framework.test.TestVM compiler.valhalla.inlinetypes.TestFlatInArraysFolding
.......
C2:1739 798 b 4 compiler.valhalla.inlinetypes.TestFlatInArraysFolding::testSubTypeCheck (28 bytes)
Stack: [0x00007f6bded82000,0x00007f6bdee82000], sp=0x00007f6bdee7ca90, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x133e767] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x987 (loopnode.cpp:5889)
V [libjvm.so+0x133eadf] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x16f (loopnode.cpp:6284)
V [libjvm.so+0x133f3ef] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0x16f (loopnode.cpp:6272)
V [libjvm.so+0x133fc36] PhaseIdealLoop::build_and_optimize()+0x5f6 (loopnode.cpp:4684)
V [libjvm.so+0xa3653b] PhaseIdealLoop::verify(PhaseIterGVN&)+0x3ab (loopnode.hpp:1128)
V [libjvm.so+0xa313f9] Compile::Optimize()+0xab9 (compile.cpp:2898)
V [libjvm.so+0xa350f8] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1cb8 (compile.cpp:873)
V [libjvm.so+0x873b72] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
V [libjvm.so+0xa40e7c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2299)
V [libjvm.so+0xa41af8] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1958)
V [libjvm.so+0xf47b4c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
V [libjvm.so+0x18718f6] Thread::call_run()+0xb6 (thread.cpp:221)
V [libjvm.so+0x155ad37] thread_native_entry(Thread*)+0x127 (os_linux.cpp:789)
XX:+ExpandSubTypeCheckAtParseTime
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/f8dfb4e7-ae2d-48ec-aec1-afff79404935-S9556/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/f0b0dbec-b0de-4f71-9db8-e3c01fd3c029/runs/4676948d-774f-48fc-b966-b3bc8474b592/workspace/open/src/hotspot/share/opto/loopnode.cpp:5889), pid=2613332, tid=2613343
# assert(!had_error) failed: bad dominance
#
# JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-05-07-1722420.tobias.hartmann.valhalla)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-05-07-1722420.tobias.hartmann.valhalla, mixed mode, tiered, compressed oops, compressed class ptrs, serial gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x133e767] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x987
.......
Command Line: -Djava.library.path=/opt/mach5/mesos/work_dir/jib-master/install/2024-05-07-1722420.tobias.hartmann.valhalla/linux-x64-debug.test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/opt/mach5/mesos/work_dir/jib-master/install/jdk/21/35/bundles/linux-x64/jdk-21_linux-x64_bin.tar.gz/jdk-21 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/f8dfb4e7-ae2d-48ec-aec1-afff79404935-S9631/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7e1c0189-c36b-4ac7-94e4-98061aa32493/runs/c1e5c2e6-1d18-411a-b4de-2b61944da494/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_valhalla/tmp -XX:+UnlockDiagnosticVMOptions -XX:+ExpandSubTypeCheckAtParseTime -Dir.framework.server.port=43235 --enable-preview --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED -XX:+UseSerialGC -XX:+IgnoreUnrecognizedVMOptions -XX:LoopMaxUnroll=0 -XX:-BackgroundCompilation -XX:CompileCommand=quiet -DWarmup=0 compiler.lib.ir_framework.test.TestVM compiler.valhalla.inlinetypes.TestFlatInArraysFolding
.......
C2:1739 798 b 4 compiler.valhalla.inlinetypes.TestFlatInArraysFolding::testSubTypeCheck (28 bytes)
Stack: [0x00007f6bded82000,0x00007f6bdee82000], sp=0x00007f6bdee7ca90, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x133e767] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x987 (loopnode.cpp:5889)
V [libjvm.so+0x133eadf] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x16f (loopnode.cpp:6284)
V [libjvm.so+0x133f3ef] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0x16f (loopnode.cpp:6272)
V [libjvm.so+0x133fc36] PhaseIdealLoop::build_and_optimize()+0x5f6 (loopnode.cpp:4684)
V [libjvm.so+0xa3653b] PhaseIdealLoop::verify(PhaseIterGVN&)+0x3ab (loopnode.hpp:1128)
V [libjvm.so+0xa313f9] Compile::Optimize()+0xab9 (compile.cpp:2898)
V [libjvm.so+0xa350f8] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1cb8 (compile.cpp:873)
V [libjvm.so+0x873b72] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f2 (c2compiler.cpp:143)
V [libjvm.so+0xa40e7c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2299)
V [libjvm.so+0xa41af8] CompileBroker::compiler_thread_loop()+0x458 (compileBroker.cpp:1958)
V [libjvm.so+0xf47b4c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:722)
V [libjvm.so+0x18718f6] Thread::call_run()+0xb6 (thread.cpp:221)
V [libjvm.so+0x155ad37] thread_native_entry(Thread*)+0x127 (os_linux.cpp:789)
- relates to
-
JDK-8321734 [lworld] C2: flat_in_array type is not handled correctly leading to crashes
- Resolved
-
JDK-8332032 C2: Remove ExpandSubTypeCheckAtParseTime flag
- Resolved