-
Bug
-
Resolution: Fixed
-
P3
-
24
The following Java Fuzzer test starts to fail after JDK-8339733:
To reproduce:
$ java -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test.java
$ java -XX:CompileCommand=compileonly,Reduced::* -Xcomp Reduced.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/7a20d425-e769-4142-b5c1-e3cc2d88e03e-S17434/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0fdfa453-52e1-4ff6-995c-9eeb1bfbedc6/runs/ab7795a8-aeaa-4838-8e29-48cc4034340e/workspace/open/src/hotspot/share/opto/loopTransform.cpp:3116), pid=223988, tid=224002
# assert(main_limit == cl->limit() || get_ctrl(main_limit) == new_limit_ctrl) failed: wrong control for added limit
#
# JRE version: Java(TM) SE Runtime Environment (24.0+18) (fastdebug build 24-ea+18-2044)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-ea+18-2044, compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x12b6c39] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0x1449
...........
Command Line: -XX:CompileCommand=compileonly,*Test*::* -Xcomp --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher Test.java
...........
Current CompileTask:
C2:2571 94 b 4 Test::vMeth1 (326 bytes)
Stack: [0x000077f13ea00000,0x000077f13eb00000], sp=0x000077f13eafab90, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x12b6c39] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0x1449 (loopTransform.cpp:3116)
V [libjvm.so+0x12b7caf] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x4bf (loopTransform.cpp:3716)
V [libjvm.so+0x12b7f3e] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17e (loopTransform.cpp:3764)
V [libjvm.so+0x12b7df5] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x35 (loopTransform.cpp:3748)
V [libjvm.so+0x12e4640] PhaseIdealLoop::build_and_optimize()+0xf60 (loopnode.cpp:4840)
V [libjvm.so+0xa21418] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x3a8 (loopnode.hpp:1117)
V [libjvm.so+0xa1a095] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x75 (compile.cpp:2172)
V [libjvm.so+0xa1c765] Compile::Optimize()+0xe15 (compile.cpp:2419)
V [libjvm.so+0xa1ff30] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b80 (compile.cpp:852)
V [libjvm.so+0x868c05] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5 (c2compiler.cpp:142)
V [libjvm.so+0xa2bc38] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928 (compileBroker.cpp:2303)
V [libjvm.so+0xa2c8c8] CompileBroker::compiler_thread_loop()+0x478 (compileBroker.cpp:1961)
V [libjvm.so+0xed5cac] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:759)
V [libjvm.so+0x1809626] Thread::call_run()+0xb6 (thread.cpp:234)
V [libjvm.so+0x14eeb87] thread_native_entry(Thread*)+0x127 (os_linux.cpp:858)
To reproduce:
$ java -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test.java
$ java -XX:CompileCommand=compileonly,Reduced::* -Xcomp Reduced.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/7a20d425-e769-4142-b5c1-e3cc2d88e03e-S17434/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0fdfa453-52e1-4ff6-995c-9eeb1bfbedc6/runs/ab7795a8-aeaa-4838-8e29-48cc4034340e/workspace/open/src/hotspot/share/opto/loopTransform.cpp:3116), pid=223988, tid=224002
# assert(main_limit == cl->limit() || get_ctrl(main_limit) == new_limit_ctrl) failed: wrong control for added limit
#
# JRE version: Java(TM) SE Runtime Environment (24.0+18) (fastdebug build 24-ea+18-2044)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-ea+18-2044, compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x12b6c39] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0x1449
...........
Command Line: -XX:CompileCommand=compileonly,*Test*::* -Xcomp --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher Test.java
...........
Current CompileTask:
C2:2571 94 b 4 Test::vMeth1 (326 bytes)
Stack: [0x000077f13ea00000,0x000077f13eb00000], sp=0x000077f13eafab90, free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x12b6c39] PhaseIdealLoop::do_range_check(IdealLoopTree*, Node_List&)+0x1449 (loopTransform.cpp:3116)
V [libjvm.so+0x12b7caf] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x4bf (loopTransform.cpp:3716)
V [libjvm.so+0x12b7f3e] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17e (loopTransform.cpp:3764)
V [libjvm.so+0x12b7df5] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x35 (loopTransform.cpp:3748)
V [libjvm.so+0x12e4640] PhaseIdealLoop::build_and_optimize()+0xf60 (loopnode.cpp:4840)
V [libjvm.so+0xa21418] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x3a8 (loopnode.hpp:1117)
V [libjvm.so+0xa1a095] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x75 (compile.cpp:2172)
V [libjvm.so+0xa1c765] Compile::Optimize()+0xe15 (compile.cpp:2419)
V [libjvm.so+0xa1ff30] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b80 (compile.cpp:852)
V [libjvm.so+0x868c05] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5 (c2compiler.cpp:142)
V [libjvm.so+0xa2bc38] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928 (compileBroker.cpp:2303)
V [libjvm.so+0xa2c8c8] CompileBroker::compiler_thread_loop()+0x478 (compileBroker.cpp:1961)
V [libjvm.so+0xed5cac] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:759)
V [libjvm.so+0x1809626] Thread::call_run()+0xb6 (thread.cpp:234)
V [libjvm.so+0x14eeb87] thread_native_entry(Thread*)+0x127 (os_linux.cpp:858)
- relates to
-
JDK-8339733 C2: some nodes can have incorrect control after do_range_check()
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/8f2b23bb
-
Review(master) openjdk/jdk/21564