-
Bug
-
Resolution: Fixed
-
P3
-
25
-
b16
The attached Java Fuzzer failure starts to fail after JDK-8350756:
$ java -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:PerMethodTrapLimit=0 Test.java
$ java -XX:CompileCommand=compileonly,*Reduced*::* -XX:-TieredCompilation -Xcomp -XX:PerMethodTrapLimit=0 Reduced.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/System/Volumes/Data/mesos/work_dir/slaves/d228d36c-581b-4156-829e-5c5a441dd0ce-S520/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/3d55c41a-1fd9-42b1-b51b-7e4e4e12782a/runs/590cfc57-d55d-4441-9694-fb7f86b887ba/workspace/open/src/hotspot/share/opto/vectorization.cpp:142), pid=12893, tid=25347
# assert(_cl->is_multiversion_fast_loop() == (_multiversioning_fast_proj != nullptr)) failed: must find the multiversion selector IFF loop is a multiversion fast loop
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-03-13-1510029.leonid.mesnik.jdk-td-comp)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-03-13-1510029.leonid.mesnik.jdk-td-comp, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
............
Command Line: -XX:+UnlockDiagnosticVMOptions -XX:RepeatCompilation=68 -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=10 -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/System/Volumes/Data/mesos/work_dir/jib-master/install/jdk/23/37/bundles/macos-x64/jdk-23_macos-x64_bin.tar.gz/jdk-23.jdk/Contents/Home -Djava.io.tmpdir=/System/Volumes/Data/mesos/work_dir/slaves/d228d36c-581b-4156-829e-5c5a441dd0ce-S496/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/60f6eafb-740c-4147-85e1-45e1183f6a4c/runs/32ca0ef2-d96d-43d1-8c76-c4135eb316a5/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_LongRunningTests_java/tmp Test
............
C2:1362 5 b Test::mainTest (673 bytes)
Stack: [0x0000700003146000,0x0000700003246000], sp=0x0000700003241830, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x135338e] VMError::report(outputStream*, bool)+0x1eee (vectorization.cpp:142)
V [libjvm.dylib+0x1357102] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x612
V [libjvm.dylib+0x6d9ba8] report_vm_error(char const*, int, char const*, char const*, ...)+0xd8
V [libjvm.dylib+0x13156e5] VLoop::check_preconditions_helper()+0x435
V [libjvm.dylib+0x13151ed] VLoop::check_preconditions()+0x9d
V [libjvm.dylib+0xe39bd1] PhaseIdealLoop::auto_vectorize(IdealLoopTree*, VSharedData&)+0xe1
V [libjvm.dylib+0xe19391] PhaseIdealLoop::build_and_optimize()+0xe91
V [libjvm.dylib+0x62cfd9] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x89
V [libjvm.dylib+0x62d5c0] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x80
V [libjvm.dylib+0x62525f] Compile::Optimize()+0xf0f
V [libjvm.dylib+0x622a9d] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x186d
V [libjvm.dylib+0x4e50c0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x200
V [libjvm.dylib+0x645372] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xc32
V [libjvm.dylib+0x644317] CompileBroker::compiler_thread_loop()+0x3d7
V [libjvm.dylib+0xa49b80] JavaThread::thread_main_inner()+0x1b0
V [libjvm.dylib+0x12a089c] Thread::call_run()+0xbc
V [libjvm.dylib+0xfe1f83] thread_native_entry(Thread*)+0x123
C [libsystem_pthread.dylib+0x64e1] _pthread_start+0x7d
C [libsystem_pthread.dylib+0x1f6b] thread_start+0xf
$ java -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:PerMethodTrapLimit=0 Test.java
$ java -XX:CompileCommand=compileonly,*Reduced*::* -XX:-TieredCompilation -Xcomp -XX:PerMethodTrapLimit=0 Reduced.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/System/Volumes/Data/mesos/work_dir/slaves/d228d36c-581b-4156-829e-5c5a441dd0ce-S520/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/3d55c41a-1fd9-42b1-b51b-7e4e4e12782a/runs/590cfc57-d55d-4441-9694-fb7f86b887ba/workspace/open/src/hotspot/share/opto/vectorization.cpp:142), pid=12893, tid=25347
# assert(_cl->is_multiversion_fast_loop() == (_multiversioning_fast_proj != nullptr)) failed: must find the multiversion selector IFF loop is a multiversion fast loop
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-03-13-1510029.leonid.mesnik.jdk-td-comp)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-03-13-1510029.leonid.mesnik.jdk-td-comp, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
............
Command Line: -XX:+UnlockDiagnosticVMOptions -XX:RepeatCompilation=68 -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=10 -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=/System/Volumes/Data/mesos/work_dir/jib-master/install/jdk/23/37/bundles/macos-x64/jdk-23_macos-x64_bin.tar.gz/jdk-23.jdk/Contents/Home -Djava.io.tmpdir=/System/Volumes/Data/mesos/work_dir/slaves/d228d36c-581b-4156-829e-5c5a441dd0ce-S496/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/60f6eafb-740c-4147-85e1-45e1183f6a4c/runs/32ca0ef2-d96d-43d1-8c76-c4135eb316a5/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_LongRunningTests_java/tmp Test
............
C2:1362 5 b Test::mainTest (673 bytes)
Stack: [0x0000700003146000,0x0000700003246000], sp=0x0000700003241830, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x135338e] VMError::report(outputStream*, bool)+0x1eee (vectorization.cpp:142)
V [libjvm.dylib+0x1357102] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x612
V [libjvm.dylib+0x6d9ba8] report_vm_error(char const*, int, char const*, char const*, ...)+0xd8
V [libjvm.dylib+0x13156e5] VLoop::check_preconditions_helper()+0x435
V [libjvm.dylib+0x13151ed] VLoop::check_preconditions()+0x9d
V [libjvm.dylib+0xe39bd1] PhaseIdealLoop::auto_vectorize(IdealLoopTree*, VSharedData&)+0xe1
V [libjvm.dylib+0xe19391] PhaseIdealLoop::build_and_optimize()+0xe91
V [libjvm.dylib+0x62cfd9] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x89
V [libjvm.dylib+0x62d5c0] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0x80
V [libjvm.dylib+0x62525f] Compile::Optimize()+0xf0f
V [libjvm.dylib+0x622a9d] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x186d
V [libjvm.dylib+0x4e50c0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x200
V [libjvm.dylib+0x645372] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xc32
V [libjvm.dylib+0x644317] CompileBroker::compiler_thread_loop()+0x3d7
V [libjvm.dylib+0xa49b80] JavaThread::thread_main_inner()+0x1b0
V [libjvm.dylib+0x12a089c] Thread::call_run()+0xbc
V [libjvm.dylib+0xfe1f83] thread_native_entry(Thread*)+0x123
C [libsystem_pthread.dylib+0x64e1] _pthread_start+0x7d
C [libsystem_pthread.dylib+0x1f6b] thread_start+0xf
- blocks
-
JDK-8352819 C2 SuperWord: add assert to eliminate_useless_multiversion_if
-
- Open
-
- caused by
-
JDK-8350756 C2 SuperWord Multiversioning: remove useless slow loop when the fast loop disappears
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/c856b342
-
Review(master) openjdk/jdk/24183