The following test failed in the JDK22 CI:
compiler/interpreter/TestVerifyStackAfterDeopt.java
Here's a snippet from the log file:
#section:main
----------messages:(6/811)----------
command: main -XX:+IgnoreUnrecognizedVMOptions -XX:TieredStopAtLevel=1 -XX:AllocatePrefetchLines=1 -XX:AllocateInstancePrefetchLines=1 -XX:AllocatePrefetchStepSize=16 -XX:AllocatePrefetchDistance=1 -XX:MinTLABSize=1k -XX:TLABSize=1k -XX:+DeoptimizeALot -XX:+VerifyStack compiler.interpreter.TestVerifyStackAfterDeopt
reason: User specified action: run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TieredStopAtLevel=1 -XX:AllocatePrefetchLines=1 -XX:AllocateInstancePrefetchLines=1 -XX:AllocatePrefetchStepSize=16 -XX:AllocatePrefetchDistance=1 -XX:MinTLABSize=1k -XX:TLABSize=1k -XX:+DeoptimizeALot -XX:+VerifyStack compiler.interpreter.TestVerifyStackAfterDeopt
started: Sat Sep 16 11:46:03 GMT 2023
Mode: othervm [/othervm specified]
finished: Sat Sep 16 11:46:10 GMT 2023
elapsed time (seconds): 6.778
----------configuration:(0/0)----------
----------System.out:(19/1143)----------
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0xa) at pc=0x00000001077fcf6c, pid=83896, tid=6915
#
# JRE version: Java(TM) SE Runtime Environment (22.0+16) (fastdebug build 22-ea+16-1142)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-ea+16-1142, compiled mode, emulated-client, sharing, tiered, compressed class ptrs, g1 gc, bsd-aarch64)
# Problematic frame:
# V [libjvm.dylib+0xff4f6c] PcDescContainer::find_pc_desc_internal(unsigned char*, bool, PcDescSearch const&)+0x76c
#
# Core dump will be written. Default location: core.83896
#
# An error report file with more information is saved as:
# /System/Volumes/Data/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S176544/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/bd0a4977-ec35-4387-8f72-a036635a283d/runs/93184247-9afb-4c48-848f-f631c880deda/testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier1_compiler_2/scratch/3/hs_err_pid83896.log
[0.216s][warning][os] Loading hsdis library failed
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
----------System.err:(1/90)----------
Java HotSpot(TM) 64-Bit Server VM warning: AllocatePrefetchDistance must be multiple of 8
----------rerun:(52/7087)*----------
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x000000011d80c010): JavaThread "main" [_thread_in_Java, id=6915, stack(0x000000016b6b8000,0x000000016b8bb000) (2060K)]
Stack: [0x000000016b6b8000,0x000000016b8bb000], sp=0x000000016b8b7b80, free space=2046k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0xff4f6c] PcDescContainer::find_pc_desc_internal(unsigned char*, bool, PcDescSearch const&)+0x76c
V [libjvm.dylib+0x639dac] CompiledMethod::scope_desc_at(unsigned char*)+0x70
V [libjvm.dylib+0x7db870] frame::describe(FrameValues&, int, RegisterMap const*)+0x84c
V [libjvm.dylib+0xa46b4c] JavaThread::print_frame_layout(int, bool)+0x264
V [libjvm.dylib+0x6e8ac0] Deoptimization::unpack_frames(JavaThread*, int)+0x1f8
v ~DeoptimizationBlob 0x0000000110a81120
j java.lang.invoke.MethodTypeForm.<init>(Ljava/lang/invoke/MethodType;)V+235 java.base@22-ea
J 219 c1 java.lang.invoke.MethodType.makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; java.base@22-ea (109 bytes) @ 0x0000000110bbf448 [0x0000000110bbf000+0x0000000000000448]
J 273 c1 java.lang.invoke.MethodType.methodType(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; java.base@22-ea (69 bytes) @ 0x0000000110c01a98 [0x0000000110c01940+0x0000000000000158]
J 210 c1 java.lang.invoke.MethodTypeForm.canonicalize(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/MethodType; java.base@22-ea (59 bytes) @ 0x0000000110bb9304 [0x0000000110bb9200+0x0000000000000104]
J 219 c1 java.lang.invoke.MethodType.makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; java.base@22-ea (109 bytes) @ 0x0000000110bbf3d8 [0x0000000110bbf000+0x00000000000003d8]
J 272 c1 java.lang.invoke.MethodType.insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; java.base@22-ea (121 bytes) @ 0x0000000110c00918 [0x0000000110c00540+0x00000000000003d8]
J 271 c1 java.lang.invoke.MethodType.invokerType()Ljava/lang/invoke/MethodType; java.base@22-ea (9 bytes) @ 0x0000000110c000f8 [0x0000000110c00040+0x00000000000000b8]
j java.lang.invoke.DirectMethodHandle.makePreparedFieldLambdaForm(BZI)Ljava/lang/invoke/LambdaForm;+434 java.base@22-ea
J 234 c1 java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm; java.base@22-ea (48 bytes) @ 0x0000000110bd238c [0x0000000110bd2280+0x000000000000010c]
J 230 c1 java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm; java.base@22-ea (180 bytes) @ 0x0000000110bcea94 [0x0000000110bce940+0x0000000000000154]
J 226 c1 java.lang.invoke.DirectMethodHandle.make(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle; java.base@22-ea (275 bytes) @ 0x0000000110bc9ae8 [0x0000000110bc9840+0x00000000000002a8]
J 225 c1 java.lang.invoke.DirectMethodHandle.make(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle; java.base@22-ea (21 bytes) @ 0x0000000110bc925c [0x0000000110bc91c0+0x000000000000009c]
J 157 c1 java.lang.invoke.MethodHandles$Lookup.getDirectFieldCommon(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle; java.base@22-ea (67 bytes) @ 0x0000000110b92bc4 [0x0000000110b92ac0+0x0000000000000104]
J 153 c1 java.lang.invoke.MethodHandles$Lookup.unreflectField(Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle; java.base@22-ea (126 bytes) @ 0x0000000110b90be4 [0x0000000110b909c0+0x0000000000000224]
J 152 c1 java.lang.invoke.MethodHandles$Lookup.unreflectGetter(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle; java.base@22-ea (7 bytes) @ 0x0000000110b905f4 [0x0000000110b90540+0x00000000000000b4]
j java.lang.invoke.MethodHandleImpl$1.unreflectField(Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle;+18 java.base@22-ea
j jdk.internal.reflect.MethodHandleAccessorFactory.newFieldAccessor(Ljava/lang/reflect/Field;Z)Ljdk/internal/reflect/FieldAccessorImpl;+63 java.base@22-ea
J 104 c1 jdk.internal.reflect.ReflectionFactory.newFieldAccessor(Ljava/lang/reflect/Field;Z)Ljdk/internal/reflect/FieldAccessor; java.base@22-ea (80 bytes) @ 0x0000000110b76fcc [0x0000000110b76e40+0x000000000000018c]
J 103 c1 java.lang.reflect.Field.acquireFieldAccessor()Ljdk/internal/reflect/FieldAccessor; java.base@22-ea (46 bytes) @ 0x0000000110b76668 [0x0000000110b76580+0x00000000000000e8]
J 88 c1 java.lang.reflect.Field.getInt(Ljava/lang/Object;)I java.base@22-ea (39 bytes) @ 0x0000000110b6cd7c [0x0000000110b6cbc0+0x00000000000001bc]
j java.lang.invoke.MethodHandleNatives.verifyConstants()Z+48 java.base@22-ea
j java.lang.invoke.MethodHandleNatives.<clinit>()V+85 java.base@22-ea
v ~StubRoutines::call_stub 0x00000001109a816c
V [libjvm.dylib+0xa0af28] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x65c
V [libjvm.dylib+0x9c0080] InstanceKlass::call_class_initializer(JavaThread*)+0x3e8
V [libjvm.dylib+0x9bd294] InstanceKlass::initialize_impl(JavaThread*)+0x918
V [libjvm.dylib+0x9bc904] InstanceKlass::initialize(JavaThread*)+0x30
V [libjvm.dylib+0x13164f8] Threads::initialize_jsr292_core_classes(JavaThread*)+0x52c
V [libjvm.dylib+0x1316e1c] Threads::create_vm(JavaVMInitArgs*, bool*)+0x8d8
V [libjvm.dylib+0xb2b380] JNI_CreateJavaVM+0x70
C [libjli.dylib+0xa650] JavaMain+0x104
C [libjli.dylib+0xd4c4] ThreadJavaMain+0xc
C [libsystem_pthread.dylib+0x726c] _pthread_start+0x94
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
v ~DeoptimizationBlob 0x0000000110a810f4
j java.lang.invoke.MethodTypeForm.<init>(Ljava/lang/invoke/MethodType;)V+235 java.base@22-ea
J 219 c1 java.lang.invoke.MethodType.makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; java.base@22-ea (109 bytes) @ 0x0000000110bbf448 [0x0000000110bbf000+0x0000000000000448]
J 273 c1 java.lang.invoke.MethodType.methodType(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; java.base@22-ea (69 bytes) @ 0x0000000110c01a98 [0x0000000110c01940+0x0000000000000158]
J 210 c1 java.lang.invoke.MethodTypeForm.canonicalize(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/MethodType; java.base@22-ea (59 bytes) @ 0x0000000110bb9304 [0x0000000110bb9200+0x0000000000000104]
J 219 c1 java.lang.invoke.MethodType.makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; java.base@22-ea (109 bytes) @ 0x0000000110bbf3d8 [0x0000000110bbf000+0x00000000000003d8]
J 272 c1 java.lang.invoke.MethodType.insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; java.base@22-ea (121 bytes) @ 0x0000000110c00918 [0x0000000110c00540+0x00000000000003d8]
J 271 c1 java.lang.invoke.MethodType.invokerType()Ljava/lang/invoke/MethodType; java.base@22-ea (9 bytes) @ 0x0000000110c000f8 [0x0000000110c00040+0x00000000000000b8]
j java.lang.invoke.DirectMethodHandle.makePreparedFieldLambdaForm(BZI)Ljava/lang/invoke/LambdaForm;+434 java.base@22-ea
J 234 c1 java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm; java.base@22-ea (48 bytes) @ 0x0000000110bd238c [0x0000000110bd2280+0x000000000000010c]
J 230 c1 java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm; java.base@22-ea (180 bytes) @ 0x0000000110bcea94 [0x0000000110bce940+0x0000000000000154]
J 226 c1 java.lang.invoke.DirectMethodHandle.make(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle; java.base@22-ea (275 bytes) @ 0x0000000110bc9ae8 [0x0000000110bc9840+0x00000000000002a8]
J 225 c1 java.lang.invoke.DirectMethodHandle.make(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle; java.base@22-ea (21 bytes) @ 0x0000000110bc925c [0x0000000110bc91c0+0x000000000000009c]
J 157 c1 java.lang.invoke.MethodHandles$Lookup.getDirectFieldCommon(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle; java.base@22-ea (67 bytes) @ 0x0000000110b92bc4 [0x0000000110b92ac0+0x0000000000000104]
J 153 c1 java.lang.invoke.MethodHandles$Lookup.unreflectField(Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle; java.base@22-ea (126 bytes) @ 0x0000000110b90be4 [0x0000000110b909c0+0x0000000000000224]
J 152 c1 java.lang.invoke.MethodHandles$Lookup.unreflectGetter(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle; java.base@22-ea (7 bytes) @ 0x0000000110b905f4 [0x0000000110b90540+0x00000000000000b4]
j java.lang.invoke.MethodHandleImpl$1.unreflectField(Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle;+18 java.base@22-ea
j jdk.internal.reflect.MethodHandleAccessorFactory.newFieldAccessor(Ljava/lang/reflect/Field;Z)Ljdk/internal/reflect/FieldAccessorImpl;+63 java.base@22-ea
J 104 c1 jdk.internal.reflect.ReflectionFactory.newFieldAccessor(Ljava/lang/reflect/Field;Z)Ljdk/internal/reflect/FieldAccessor; java.base@22-ea (80 bytes) @ 0x0000000110b76fcc [0x0000000110b76e40+0x000000000000018c]
J 103 c1 java.lang.reflect.Field.acquireFieldAccessor()Ljdk/internal/reflect/FieldAccessor; java.base@22-ea (46 bytes) @ 0x0000000110b76668 [0x0000000110b76580+0x00000000000000e8]
J 88 c1 java.lang.reflect.Field.getInt(Ljava/lang/Object;)I java.base@22-ea (39 bytes) @ 0x0000000110b6cd7c [0x0000000110b6cbc0+0x00000000000001bc]
j java.lang.invoke.MethodHandleNatives.verifyConstants()Z+48 java.base@22-ea
j java.lang.invoke.MethodHandleNatives.<clinit>()V+85 java.base@22-ea
v ~StubRoutines::call_stub 0x00000001109a816c
siginfo: si_signo: 10 (SIGBUS), si_code: 1 (BUS_ADRALN), si_addr: 0x0000000110bbedb8
I'm starting this bug off in hotspot/compiler for initial triage since
it is a compiler test.