JDK-8353306 : [leyden] Creating AOT config crashes with SIGSEGV in InstanceKlass::can_be_verified_at_dumptime()
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: repo-leyden
  • Priority: P3
  • Status: New
  • Resolution: Unresolved
  • Submitted: 2025-03-31
  • Updated: 2025-03-31
Related Reports
Duplicate :  
Description
(Same issue as JDK-8352092)
Creating AOT config file crashes with SIGSEGV in InstanceKlass::can_be_verified_at_dumptime()


#  SIGSEGV (0xb) at pc=0x00007f2d73d39527, pid=14609, tid=14610
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-03-31-1644162.katya...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-03-31-1644162.katya..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0xf68527]  InstanceKlass::can_be_verified_at_dumptime() const+0xa7


Current thread (0x00007f2d6c02ebc0):  JavaThread "main"             [_thread_in_vm, id=14610, stack(0x00007f2d75c6f000,0x00007f2d75d70000) (1028K)]

Stack: [0x00007f2d75c6f000,0x00007f2d75d70000],  sp=0x00007f2d75d6cb00,  free space=1014k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xf68527]  InstanceKlass::can_be_verified_at_dumptime() const+0xa7  (array.hpp:107)
V  [libjvm.so+0x15bd6bc]  MetaspaceShared::link_shared_classes(JavaThread*)+0x38c  (metaspaceShared.cpp:758)
V  [libjvm.so+0x15bee26]  MetaspaceShared::preload_and_dump_impl(StaticArchiveBuilder&, JavaThread*)+0x256  (metaspaceShared.cpp:1042)
V  [libjvm.so+0x15bf6c6]  MetaspaceShared::preload_and_dump(JavaThread*)+0x206  (metaspaceShared.cpp:854)
V  [libjvm.so+0xfda63b]  before_exit(JavaThread*, bool)+0x21b  (java.cpp:544)
V  [libjvm.so+0x1182e29]  JVM_Halt+0x109  (jvm.cpp:446)
j  java.lang.Shutdown.halt0(I)V+0 java.base@25-internal
j  java.lang.Shutdown.halt(I)V+7 java.base@25-internal
j  java.lang.Shutdown.exit(I)V+16 java.base@25-internal
j  java.lang.Runtime.exit(I)V+1 java.base@25-internal
j  java.lang.System.exit(I)V+4 java.base@25-internal
j  javasoft.sqe.javatest.Status.exit()V+52
j  javasoft.sqe.tests.api.java.lang.ClassLoader.DefineClass4Tests.main([Ljava/lang/String;)V+19
v  ~StubRoutines::call_stub 0x00007f2d5bc82d01
V  [libjvm.so+0xfe0260]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x4e0  (javaCalls.cpp:415)
V  [libjvm.so+0x1136b40]  jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, JavaThread*) [clone .constprop.1]+0x410  (jni.cpp:883)
V  [libjvm.so+0x113aad0]  jni_CallStaticVoidMethod+0x210  (jni.cpp:1712)
C  [libjli.so+0x3a3a]  invokeStaticMainWithArgs+0x4a  (java.c:392)
C  [libjli.so+0x4af9]  JavaMain+0xee9  (java.c:640)
C  [libjli.so+0x7b29]  ThreadJavaMain+0x9  (java_md.c:649)
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.Shutdown.halt0(I)V+0 java.base@25-internal
j  java.lang.Shutdown.halt(I)V+7 java.base@25-internal
j  java.lang.Shutdown.exit(I)V+16 java.base@25-internal
j  java.lang.Runtime.exit(I)V+1 java.base@25-internal
j  java.lang.System.exit(I)V+4 java.base@25-internal
j  javasoft.sqe.javatest.Status.exit()V+52
j  javasoft.sqe.tests.api.java.lang.ClassLoader.DefineClass4Tests.main([Ljava/lang/String;)V+19
v  ~StubRoutines::call_stub 0x00007f2d5bc82d01
Comments
The issue seems started to appear in jdk25b12. The test passes with jdk25b11.
31-03-2025

The issue is also reproduced with jdk25 mainline. The test crashed on linux-aarch64-debug in mach5 but I can easy reproduce it on my local linux-x64 machine.
31-03-2025