-
Bug
-
Resolution: Fixed
-
P3
-
20, 21, 24, 25
-
b05
-
b16
-
aarch64
Found with Template Framework JDK-8344942.
Hits assert in debug. Not sure if product is affected, it seems to run correctly in my examples, but needs more investigation when fixing the bug.
The code shape is extremely simple:
public static IntVector test() {
IntVector iv1 = IntVector.zero(IntVector.SPECIES_128);
return iv1.lanewise(VectorOperators.ROR, iv1);
}
This does not just happen with ROR, but also ROL.
jdk-25-ea+9/fastdebug/bin/java --add-modules=jdk.incubator.vector -Xbatch Test.java
WARNING: Using incubator modules: jdk.incubator.vector
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/cpu/aarch64/assembler_aarch64.hpp:2981), pid=1002125, tid=1002143
# assert((1 << ((T>>1)+3)) > shift) failed: Invalid Shift value
#
# JRE version: Java(TM) SE Runtime Environment (25.0+9) (fastdebug build 25-ea+9-LTS-963)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+9-LTS-963, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x41fa9c] Assembler::shl(FloatRegister, Assembler::SIMD_Arrangement, FloatRegister, int)+0x12c
#
# Core dump will be written. Default location: /scratch/empeter/core.1002125
#
# An error report file with more information is saved as:
# .../hs_err_pid1002125.log
#
# Compiler replay data is saved as:
# .../replay_pid1002125.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
Aborted (core dumped)
Current CompileTask:
C2:6013 1696 b 4 Test::test (16 bytes)
Stack: [0x0000fffcc4860000,0x0000fffcc4a60000], sp=0x0000fffcc4a5b3b0, free space=2028k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x41fa9c] Assembler::shl(FloatRegister, Assembler::SIMD_Arrangement, FloatRegister, int)+0x12c (assembler_aarch64.hpp:2981)
V [libjvm.so+0x1375428] PhaseOutput::scratch_emit_size(Node const*)+0x288
V [libjvm.so+0x136e368] PhaseOutput::shorten_branches(unsigned int*)+0x2a8
V [libjvm.so+0x137ec90] PhaseOutput::Output()+0x970
V [libjvm.so+0x8eec44] Compile::Code_Gen()+0x4c0
V [libjvm.so+0x8f0f40] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15ac
V [libjvm.so+0x744db0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x17c
V [libjvm.so+0x8fdb34] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x864
V [libjvm.so+0x8fe74c] CompileBroker::compiler_thread_loop()+0x57c
V [libjvm.so+0xd794c4] JavaThread::thread_main_inner()+0xe4
V [libjvm.so+0x1623d40] Thread::call_run()+0xac
V [libjvm.so+0x1355774] thread_native_entry(Thread*)+0x130
C [libpthread.so.0+0x7950] start_thread+0x190
Hits assert in debug. Not sure if product is affected, it seems to run correctly in my examples, but needs more investigation when fixing the bug.
The code shape is extremely simple:
public static IntVector test() {
IntVector iv1 = IntVector.zero(IntVector.SPECIES_128);
return iv1.lanewise(VectorOperators.ROR, iv1);
}
This does not just happen with ROR, but also ROL.
jdk-25-ea+9/fastdebug/bin/java --add-modules=jdk.incubator.vector -Xbatch Test.java
WARNING: Using incubator modules: jdk.incubator.vector
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/cpu/aarch64/assembler_aarch64.hpp:2981), pid=1002125, tid=1002143
# assert((1 << ((T>>1)+3)) > shift) failed: Invalid Shift value
#
# JRE version: Java(TM) SE Runtime Environment (25.0+9) (fastdebug build 25-ea+9-LTS-963)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+9-LTS-963, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x41fa9c] Assembler::shl(FloatRegister, Assembler::SIMD_Arrangement, FloatRegister, int)+0x12c
#
# Core dump will be written. Default location: /scratch/empeter/core.1002125
#
# An error report file with more information is saved as:
# .../hs_err_pid1002125.log
#
# Compiler replay data is saved as:
# .../replay_pid1002125.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
Aborted (core dumped)
Current CompileTask:
C2:6013 1696 b 4 Test::test (16 bytes)
Stack: [0x0000fffcc4860000,0x0000fffcc4a60000], sp=0x0000fffcc4a5b3b0, free space=2028k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x41fa9c] Assembler::shl(FloatRegister, Assembler::SIMD_Arrangement, FloatRegister, int)+0x12c (assembler_aarch64.hpp:2981)
V [libjvm.so+0x1375428] PhaseOutput::scratch_emit_size(Node const*)+0x288
V [libjvm.so+0x136e368] PhaseOutput::shorten_branches(unsigned int*)+0x2a8
V [libjvm.so+0x137ec90] PhaseOutput::Output()+0x970
V [libjvm.so+0x8eec44] Compile::Code_Gen()+0x4c0
V [libjvm.so+0x8f0f40] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15ac
V [libjvm.so+0x744db0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x17c
V [libjvm.so+0x8fdb34] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x864
V [libjvm.so+0x8fe74c] CompileBroker::compiler_thread_loop()+0x57c
V [libjvm.so+0xd794c4] JavaThread::thread_main_inner()+0xe4
V [libjvm.so+0x1623d40] Thread::call_run()+0xac
V [libjvm.so+0x1355774] thread_native_entry(Thread*)+0x130
C [libpthread.so.0+0x7950] start_thread+0x190
- caused by
-
JDK-8288294 [vector] Add Identity/Ideal transformations for vector logic operations
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/f9bcef4d
-
Review(master) openjdk/jdk/24051