-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
26
-
aarch64
-
linux
The test command(Note that it's a fastdebug JDK)
make test JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" TEST="test/jdk/java/foreign/TestUpcallStress.java"
The error log
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/tmp/jdk-src/src/hotspot/share/runtime/handles.cpp:40), pid=2840396, tid=2848546
# assert(oopDesc::is_oop(obj)) failed: not an oop: 0x000003d92644c001
#
# JRE version: OpenJDK Runtime Environment (26.0) (fastdebug build 26-internal-git-e94ad551c6d)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 26-internal-git-e94ad551c6d, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0xd96310] HandleArea::allocate_handle(oop)+0x150
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /tmp/test/jtwork/jdk/scratch/0/core.2840396)
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
The backtrace
Stack: [0x0000ff78fb800000,0x0000ff78fba00000], sp=0x0000ff78fb9fda00, free space=2038k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xd96310] HandleArea::allocate_handle(oop)+0x150 (handles.cpp:40)
V [libjvm.so+0x69e6f8] Handle::Handle(Thread*, oop)+0x88 (handles.inline.hpp:42)
V [libjvm.so+0x1a4f34c] UpcallLinker::handle_uncaught_exception(oop)+0xac (upcallLinker.cpp:135)
v ~StubRoutines::upcall_stub_exception_handler 0x0000ff85f392beb8
C [libTestUpcall.so+0x12f948] f14_D_DIS_FF+0x44 (libTestUpcall.c:8492)
v ~RuntimeStub::nep_invoker_blob 0x0000ff85f3dee19c
j java.lang.invoke.LambdaForm$MH+0x00000ff001941000.invoke(Ljava/lang/Object;JDIFFJ)D+18 java.base@26-internal
j java.lang.invoke.LambdaForm$MH+0x00000ff00241f400.invokeExact_MT(Ljava/lang/Object;JDIFFJLjava/lang/Object;)D+29 java.base@26-internal
j jdk.internal.foreign.abi.DowncallStub+0x00000ff002787c00.invoke(Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/MemorySegment;DILjava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;)D+115 java.base@26-internal
j java.lang.invoke.LambdaForm$DMH+0x00000ff00147a400.invokeStaticInit(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;DILjava/lang/Object;Ljava/lang/Object;)D+20 java.base@26-internal
j java.lang.invoke.LambdaForm$MH+0x00000ff001449400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+119 java.base@26-internal
J 8878 c2 java.lang.invoke.LambdaForm$MH+0x00000ff0013a2c00.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (70 bytes) @ 0x0000ff85f4483c10 [0x0000ff85f4483a40+0x00000000000001d0]
J 8826 c2 java.lang.invoke.MethodHandle.invokeWithArguments([Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (32 bytes) @ 0x0000ff85f4448eb8 [0x0000ff85f4448c00+0x00000000000002b8]
j TestUpcallStress.lambda$testUpcallsStress$0(Ljava/lang/String;LCallGeneratorHelper$Ret;Ljava/util/List;Ljava/util/List;)V+93
J 15540 c2 java.lang.Thread.run()V java.base@26-internal (23 bytes) @ 0x0000ff85f4446f78 [0x0000ff85f4446c00+0x0000000000000378]
v ~StubRoutines::call_stub 0x0000ff85f3880340
V [libjvm.so+0xe6e9c8] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x458 (javaCalls.cpp:415)
V [libjvm.so+0xe6eff8] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x278 (javaCalls.cpp:323)
V [libjvm.so+0xe6f594] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x90 (javaCalls.cpp:185)
V [libjvm.so+0x1008334] thread_entry(JavaThread*, JavaThread*)+0xc4 (jvm.cpp:2748)
V [libjvm.so+0xeabaf8] JavaThread::thread_main_inner()+0x204 (javaThread.cpp:773)
V [libjvm.so+0x19de890] Thread::call_run()+0xac (thread.cpp:243)
V [libjvm.so+0x151611c] thread_native_entry(Thread*)+0x12c (os_linux.cpp:868)
C [libc.so.6+0x8595c]
Note that this test case is only run on AArch64 and riscv64.
As I don't have riscv64 hardware on hand, I didn't check if the case can pass on riscv64 or not.
make test JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" TEST="test/jdk/java/foreign/TestUpcallStress.java"
The error log
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/tmp/jdk-src/src/hotspot/share/runtime/handles.cpp:40), pid=2840396, tid=2848546
# assert(oopDesc::is_oop(obj)) failed: not an oop: 0x000003d92644c001
#
# JRE version: OpenJDK Runtime Environment (26.0) (fastdebug build 26-internal-git-e94ad551c6d)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 26-internal-git-e94ad551c6d, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0xd96310] HandleArea::allocate_handle(oop)+0x150
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /tmp/test/jtwork/jdk/scratch/0/core.2840396)
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
The backtrace
Stack: [0x0000ff78fb800000,0x0000ff78fba00000], sp=0x0000ff78fb9fda00, free space=2038k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xd96310] HandleArea::allocate_handle(oop)+0x150 (handles.cpp:40)
V [libjvm.so+0x69e6f8] Handle::Handle(Thread*, oop)+0x88 (handles.inline.hpp:42)
V [libjvm.so+0x1a4f34c] UpcallLinker::handle_uncaught_exception(oop)+0xac (upcallLinker.cpp:135)
v ~StubRoutines::upcall_stub_exception_handler 0x0000ff85f392beb8
C [libTestUpcall.so+0x12f948] f14_D_DIS_FF+0x44 (libTestUpcall.c:8492)
v ~RuntimeStub::nep_invoker_blob 0x0000ff85f3dee19c
j java.lang.invoke.LambdaForm$MH+0x00000ff001941000.invoke(Ljava/lang/Object;JDIFFJ)D+18 java.base@26-internal
j java.lang.invoke.LambdaForm$MH+0x00000ff00241f400.invokeExact_MT(Ljava/lang/Object;JDIFFJLjava/lang/Object;)D+29 java.base@26-internal
j jdk.internal.foreign.abi.DowncallStub+0x00000ff002787c00.invoke(Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/MemorySegment;DILjava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;)D+115 java.base@26-internal
j java.lang.invoke.LambdaForm$DMH+0x00000ff00147a400.invokeStaticInit(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;DILjava/lang/Object;Ljava/lang/Object;)D+20 java.base@26-internal
j java.lang.invoke.LambdaForm$MH+0x00000ff001449400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+119 java.base@26-internal
J 8878 c2 java.lang.invoke.LambdaForm$MH+0x00000ff0013a2c00.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (70 bytes) @ 0x0000ff85f4483c10 [0x0000ff85f4483a40+0x00000000000001d0]
J 8826 c2 java.lang.invoke.MethodHandle.invokeWithArguments([Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (32 bytes) @ 0x0000ff85f4448eb8 [0x0000ff85f4448c00+0x00000000000002b8]
j TestUpcallStress.lambda$testUpcallsStress$0(Ljava/lang/String;LCallGeneratorHelper$Ret;Ljava/util/List;Ljava/util/List;)V+93
J 15540 c2 java.lang.Thread.run()V java.base@26-internal (23 bytes) @ 0x0000ff85f4446f78 [0x0000ff85f4446c00+0x0000000000000378]
v ~StubRoutines::call_stub 0x0000ff85f3880340
V [libjvm.so+0xe6e9c8] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x458 (javaCalls.cpp:415)
V [libjvm.so+0xe6eff8] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x278 (javaCalls.cpp:323)
V [libjvm.so+0xe6f594] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x90 (javaCalls.cpp:185)
V [libjvm.so+0x1008334] thread_entry(JavaThread*, JavaThread*)+0xc4 (jvm.cpp:2748)
V [libjvm.so+0xeabaf8] JavaThread::thread_main_inner()+0x204 (javaThread.cpp:773)
V [libjvm.so+0x19de890] Thread::call_run()+0xac (thread.cpp:243)
V [libjvm.so+0x151611c] thread_native_entry(Thread*)+0x12c (os_linux.cpp:868)
C [libc.so.6+0x8595c]
Note that this test case is only run on AArch64 and riscv64.
As I don't have riscv64 hardware on hand, I didn't check if the case can pass on riscv64 or not.
- caused by
-
JDK-8349094 GenShen: Race between control and regulator threads may violate assertions
-
- Resolved
-