-
Enhancement
-
Resolution: Duplicate
-
P4
-
None
-
16, 17
-
x86
Shenandoah LRB uses movsd to save xmm registers, can trigger assertion failure on x86_32.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/zgu/ws/jdk/src/hotspot/cpu/x86/assembler_x86.cpp:3078), pid=695614, tid=695617
# Error: assert(VM_Version::supports_sse2()) failed
#
Current thread (0xf5b4f008): JavaThread "Unknown thread" [_thread_in_vm, id=695617, stack(0xf5cc7000,0xf5d18000)]
Stack: [0xf5cc7000,0xf5d18000], sp=0xf5d165f0, free space=317k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x571a78] Assembler::movsd(Address, XMMRegisterImpl*)+0x168
V [libjvm.so+0x1431fbd] save_xmm_registers(MacroAssembler*)+0x9d
V [libjvm.so+0x14335a7] ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler*, RegisterImpl*, Address, unsigned long long)+0x937
V [libjvm.so+0x1436001] ShenandoahBarrierSetAssembler::load_at(MacroAssembler*, unsigned long long, BasicType, RegisterImpl*, Address, RegisterImpl*, RegisterImpl*)+0x261
V [libjvm.so+0x10c5741] MacroAssembler::load_mirror(RegisterImpl*, RegisterImpl*, RegisterImpl*)+0x121
V [libjvm.so+0x163419e] TemplateInterpreterGenerator::generate_fixed_frame(bool)+0x23e
V [libjvm.so+0x1639f79] TemplateInterpreterGenerator::generate_normal_entry(bool)+0x4e9
V [libjvm.so+0x162e39c] TemplateInterpreterGenerator::generate_method_entry(AbstractInterpreter::MethodKind)+0x1dc
To reproduce:
TEST_VM_OPTS="-XX:+UseShenandoahGC" make CONF=linux-x86-server-fastdebug run-test TEST=compiler/intrinsics/string/TestStringLatin1IndexOfChar.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/zgu/ws/jdk/src/hotspot/cpu/x86/assembler_x86.cpp:3078), pid=695614, tid=695617
# Error: assert(VM_Version::supports_sse2()) failed
#
Current thread (0xf5b4f008): JavaThread "Unknown thread" [_thread_in_vm, id=695617, stack(0xf5cc7000,0xf5d18000)]
Stack: [0xf5cc7000,0xf5d18000], sp=0xf5d165f0, free space=317k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x571a78] Assembler::movsd(Address, XMMRegisterImpl*)+0x168
V [libjvm.so+0x1431fbd] save_xmm_registers(MacroAssembler*)+0x9d
V [libjvm.so+0x14335a7] ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler*, RegisterImpl*, Address, unsigned long long)+0x937
V [libjvm.so+0x1436001] ShenandoahBarrierSetAssembler::load_at(MacroAssembler*, unsigned long long, BasicType, RegisterImpl*, Address, RegisterImpl*, RegisterImpl*)+0x261
V [libjvm.so+0x10c5741] MacroAssembler::load_mirror(RegisterImpl*, RegisterImpl*, RegisterImpl*)+0x121
V [libjvm.so+0x163419e] TemplateInterpreterGenerator::generate_fixed_frame(bool)+0x23e
V [libjvm.so+0x1639f79] TemplateInterpreterGenerator::generate_normal_entry(bool)+0x4e9
V [libjvm.so+0x162e39c] TemplateInterpreterGenerator::generate_method_entry(AbstractInterpreter::MethodKind)+0x1dc
To reproduce:
TEST_VM_OPTS="-XX:+UseShenandoahGC" make CONF=linux-x86-server-fastdebug run-test TEST=compiler/intrinsics/string/TestStringLatin1IndexOfChar.java
- duplicates
-
JDK-8256215 Shenandoah: re-organize saving/restoring machine state in assembler code
- Resolved
- links to
-
Review openjdk/jdk/2214