-
Bug
-
Resolution: Fixed
-
P3
-
21
The test java/foreign/callarranger/TestRISCV64CallArranger.java crashes with SIGSEGV (within LibraryCallKit::generate_method_call) on macosx-x64, see attached HotSpot error file. The failure is observed on a Generational ZGC build, but it is unlikely to be Generational ZGC-specific. I failed to reproduce the crash using compilation replay.
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000010a9c5306, pid=79781, tid=29955
#
# JRE version: Java(TM) SE Runtime Environment (21.0+4) (build 21-genzgc+4-LTS-29)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21-genzgc+4-LTS-29, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
# Problematic frame:
# V [libjvm.dylib+0x7d5306] LibraryCallKit::generate_method_call(vmIntrinsicID, bool, bool)+0x386
Current CompileTask:
C2: 762 1086 4 java.lang.invoke.MethodType::hashCode (53 bytes)
Stack: [0x0000700009a42000,0x0000700009b42000], sp=0x0000700009b3fc30, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x7d5306] LibraryCallKit::generate_method_call(vmIntrinsicID, bool, bool)+0x386
V [libjvm.dylib+0x7b297e] LibraryCallKit::inline_native_hashcode(bool, bool)+0xf7e
V [libjvm.dylib+0x7af787] LibraryCallKit::try_to_inline(int)+0x207
V [libjvm.dylib+0x7af1f0] LibraryIntrinsic::generate(JVMState*)+0xa0
V [libjvm.dylib+0x45c14c] Parse::do_call()+0x5ac
V [libjvm.dylib+0x9576d8] Parse::do_one_block()+0x218
V [libjvm.dylib+0x956662] Parse::do_all_blocks()+0x4e2
V [libjvm.dylib+0x954076] Parse::Parse(JVMState*, ciMethod*, float)+0x806
V [libjvm.dylib+0x2d4a70] ParseGenerator::generate(JVMState*)+0x80
V [libjvm.dylib+0x384d7e] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0xcbe
V [libjvm.dylib+0x2d2c1f] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xef
V [libjvm.dylib+0x3984ca] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4ca
V [libjvm.dylib+0x397f5c] CompileBroker::compiler_thread_loop()+0x4ec
V [libjvm.dylib+0x5c3524] JavaThread::thread_main_inner()+0x94
V [libjvm.dylib+0xad5495] Thread::call_run()+0xa5
V [libjvm.dylib+0x934cd7] thread_native_entry(Thread*)+0x147
C [libsystem_pthread.dylib+0x6259] _pthread_start+0x7d
C [libsystem_pthread.dylib+0x1c7b] thread_start+0xf
Should this test be enabled at all on other platforms than RISCV64?
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000010a9c5306, pid=79781, tid=29955
#
# JRE version: Java(TM) SE Runtime Environment (21.0+4) (build 21-genzgc+4-LTS-29)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21-genzgc+4-LTS-29, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
# Problematic frame:
# V [libjvm.dylib+0x7d5306] LibraryCallKit::generate_method_call(vmIntrinsicID, bool, bool)+0x386
Current CompileTask:
C2: 762 1086 4 java.lang.invoke.MethodType::hashCode (53 bytes)
Stack: [0x0000700009a42000,0x0000700009b42000], sp=0x0000700009b3fc30, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x7d5306] LibraryCallKit::generate_method_call(vmIntrinsicID, bool, bool)+0x386
V [libjvm.dylib+0x7b297e] LibraryCallKit::inline_native_hashcode(bool, bool)+0xf7e
V [libjvm.dylib+0x7af787] LibraryCallKit::try_to_inline(int)+0x207
V [libjvm.dylib+0x7af1f0] LibraryIntrinsic::generate(JVMState*)+0xa0
V [libjvm.dylib+0x45c14c] Parse::do_call()+0x5ac
V [libjvm.dylib+0x9576d8] Parse::do_one_block()+0x218
V [libjvm.dylib+0x956662] Parse::do_all_blocks()+0x4e2
V [libjvm.dylib+0x954076] Parse::Parse(JVMState*, ciMethod*, float)+0x806
V [libjvm.dylib+0x2d4a70] ParseGenerator::generate(JVMState*)+0x80
V [libjvm.dylib+0x384d7e] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0xcbe
V [libjvm.dylib+0x2d2c1f] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xef
V [libjvm.dylib+0x3984ca] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4ca
V [libjvm.dylib+0x397f5c] CompileBroker::compiler_thread_loop()+0x4ec
V [libjvm.dylib+0x5c3524] JavaThread::thread_main_inner()+0x94
V [libjvm.dylib+0xad5495] Thread::call_run()+0xa5
V [libjvm.dylib+0x934cd7] thread_native_entry(Thread*)+0x147
C [libsystem_pthread.dylib+0x6259] _pthread_start+0x7d
C [libsystem_pthread.dylib+0x1c7b] thread_start+0xf
Should this test be enabled at all on other platforms than RISCV64?
- duplicates
-
JDK-8305339 fatal error: meet not symmetric
-
- Closed
-
- relates to
-
JDK-8293841 RISC-V: Implementation of Foreign Function & Memory API (Preview)
-
- Resolved
-
-
JDK-8297933 [REDO] Compiler should only use verified interface types for optimization
-
- Resolved
-
-
JDK-8307625 Redundant receiver null check in LibraryCallKit::generate_method_call
-
- Resolved
-
(1 links to)