cd C:\Users\iklam\Downloads\le3\jdk-24\fastdebug\bin
java -Xshare:dump -XX:+AOTClassLinking -XX:+PrelinkSharedClasses -XX:+ArchiveInvokeDynamic -XX:-ArchivePackages -XX:-ArchiveProtectionDomains -XX:-ArchiveReflectionData -XX:-ArchiveDynamicProxies -Xlog:cds=debug -XX:SharedArchiveFile=good.jsa > good.log
java -XX:SharedArchiveFile=good.jsa --version
java -Xshare:dump -XX:+AOTClassLinking -XX:+PrelinkSharedClasses -XX:+ArchiveInvokeDynamic -XX:-ArchivePackages -XX:-ArchiveProtectionDomains -XX:+ArchiveReflectionData -XX:-ArchiveDynamicProxies -Xlog:cds=debug -XX:SharedArchiveFile=bad.jsa > bad.log
java -XX:SharedArchiveFile=bad.jsa --version
The last command crashes:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=351608, tid=357416
#
# JRE version: (24.0) (fastdebug build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-internal-2024-08-13-1850391.ioi.lam.le3, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# j java.lang.reflect.ReflectAccess.getExecutableSharedParameterTypes(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;+1 java.base@24-internal
#
# Core dump will be written. Default location: C:\Users\iklam\Downloads\le3\jdk-24\fastdebug\bin\hs_err_pid351608.mdmp
#
# An error report file with more information is saved as:
# C:\Users\iklam\Downloads\le3\jdk-24\fastdebug\bin\hs_err_pid351608.log
==================================
java -Xint -XX:+TraceBytecodes shows the executions ends here:
[360288] virtual jobject java.lang.Class.privateGetDeclaredConstructors(jboolean)
[360288] 66311 4 astore_3
[360288] 66312 5 aload_3
[360288] 66313 6 ifnull 31
[360288] 66314 9 iload_1
[360288] 66315 10 ifeq 20
[360288] 66316 20 aload_3
[360288] 66317 21 nofast_getfield 980 <java/lang/Class$ReflectionData.declaredConstructors:[Ljava/lang/reflect/Constructor;>
[360288] 66318 24 astore_2
[360288] 66319 25 aload_2
[360288] 66320 26 ifnull 31
[360288] 66321 29 aload_2
[360288] 66322 30 areturn
[360288] virtual jobject java.lang.Class.getConstructor0(jobject, jint)
[360288] 66323 17 astore #4
[360288] 66324 19 aload #4
[360288] 66325 21 astore #5
[360288] 66326 23 aload #5
[360288] 66327 25 arraylength
[360288] 66328 26 istore #6
[360288] 66329 28 iconst_0
[360288] 66330 29 istore #7
[360288] 66331 31 nofast_iload #7
[360288] 66332 33 nofast_iload #6
[360288] 66333 35 if_icmpge 67
[360288] 66334 38 aload #5
[360288] 66335 40 nofast_iload #7
[360288] 66336 42 aaload
[360288] 66337 43 astore #8
[360288] 66338 45 aload_1
[360288] 66339 46 aload_3
[360288] 66340 47 aload #8
[360288] 66341 49 invokevirtual 538 <jdk/internal/reflect/ReflectionFactory.getExecutableSharedParameterTypes(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;>
[360288] virtual jobject jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes(jobject)
[360288] 66342 0 nofast_aload_0
[360288] 66343 1 nofast_getfield 13 <jdk/internal/reflect/ReflectionFactory.langReflectAccess:Ljdk/internal/access/JavaLangReflectAccess;>
[360288] 66344 4 aload_1
[360288] 66345 5 invokeinterface 129 <jdk/internal/access/JavaLangReflectAccess.getExecutableSharedParameterTypes(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;>
[360288] virtual jobject java.lang.reflect.ReflectAccess.getExecutableSharedParameterTypes(jobject)
[360288] 66346 0 aload_1
[360288] 66347 1 invokevirtual 50 <java/lang/reflect/Executable.getSharedParameterTypes()[Ljava/lang/Class;>
java -Xshare:dump -XX:+AOTClassLinking -XX:+PrelinkSharedClasses -XX:+ArchiveInvokeDynamic -XX:-ArchivePackages -XX:-ArchiveProtectionDomains -XX:-ArchiveReflectionData -XX:-ArchiveDynamicProxies -Xlog:cds=debug -XX:SharedArchiveFile=good.jsa > good.log
java -XX:SharedArchiveFile=good.jsa --version
java -Xshare:dump -XX:+AOTClassLinking -XX:+PrelinkSharedClasses -XX:+ArchiveInvokeDynamic -XX:-ArchivePackages -XX:-ArchiveProtectionDomains -XX:+ArchiveReflectionData -XX:-ArchiveDynamicProxies -Xlog:cds=debug -XX:SharedArchiveFile=bad.jsa > bad.log
java -XX:SharedArchiveFile=bad.jsa --version
The last command crashes:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=351608, tid=357416
#
# JRE version: (24.0) (fastdebug build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-internal-2024-08-13-1850391.ioi.lam.le3, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# j java.lang.reflect.ReflectAccess.getExecutableSharedParameterTypes(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;+1 java.base@24-internal
#
# Core dump will be written. Default location: C:\Users\iklam\Downloads\le3\jdk-24\fastdebug\bin\hs_err_pid351608.mdmp
#
# An error report file with more information is saved as:
# C:\Users\iklam\Downloads\le3\jdk-24\fastdebug\bin\hs_err_pid351608.log
==================================
java -Xint -XX:+TraceBytecodes shows the executions ends here:
[360288] virtual jobject java.lang.Class.privateGetDeclaredConstructors(jboolean)
[360288] 66311 4 astore_3
[360288] 66312 5 aload_3
[360288] 66313 6 ifnull 31
[360288] 66314 9 iload_1
[360288] 66315 10 ifeq 20
[360288] 66316 20 aload_3
[360288] 66317 21 nofast_getfield 980 <java/lang/Class$ReflectionData.declaredConstructors:[Ljava/lang/reflect/Constructor;>
[360288] 66318 24 astore_2
[360288] 66319 25 aload_2
[360288] 66320 26 ifnull 31
[360288] 66321 29 aload_2
[360288] 66322 30 areturn
[360288] virtual jobject java.lang.Class.getConstructor0(jobject, jint)
[360288] 66323 17 astore #4
[360288] 66324 19 aload #4
[360288] 66325 21 astore #5
[360288] 66326 23 aload #5
[360288] 66327 25 arraylength
[360288] 66328 26 istore #6
[360288] 66329 28 iconst_0
[360288] 66330 29 istore #7
[360288] 66331 31 nofast_iload #7
[360288] 66332 33 nofast_iload #6
[360288] 66333 35 if_icmpge 67
[360288] 66334 38 aload #5
[360288] 66335 40 nofast_iload #7
[360288] 66336 42 aaload
[360288] 66337 43 astore #8
[360288] 66338 45 aload_1
[360288] 66339 46 aload_3
[360288] 66340 47 aload #8
[360288] 66341 49 invokevirtual 538 <jdk/internal/reflect/ReflectionFactory.getExecutableSharedParameterTypes(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;>
[360288] virtual jobject jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes(jobject)
[360288] 66342 0 nofast_aload_0
[360288] 66343 1 nofast_getfield 13 <jdk/internal/reflect/ReflectionFactory.langReflectAccess:Ljdk/internal/access/JavaLangReflectAccess;>
[360288] 66344 4 aload_1
[360288] 66345 5 invokeinterface 129 <jdk/internal/access/JavaLangReflectAccess.getExecutableSharedParameterTypes(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;>
[360288] virtual jobject java.lang.reflect.ReflectAccess.getExecutableSharedParameterTypes(jobject)
[360288] 66346 0 aload_1
[360288] 66347 1 invokevirtual 50 <java/lang/reflect/Executable.getSharedParameterTypes()[Ljava/lang/Class;>