On Oracle GraalVM 25.1 the failure is a segfault that looks like type confusion: a jdk.internal.event.ThreadSleepEvent is dispatched as if it were a Throwable.
A real application shows the same contrast at scale. With the flag set, 1000 user-defined statement events are recorded normally and the process then dies on its first Thread.sleep; with the flag dropped, the same application records 1011 events and exits cleanly.
Exception in thread "main" jdk.internal.event.ThreadSleepEvent@2bfb3b83
[ [ SegfaultHandler caught a segfault in thread 0x0000000103265400 ] ]
siginfo: si_signo: 10, si_code: 1, si_addr: 0x0000007003bc3514 (heapBase + 62666004)
General purpose register values:
R0 0x0000007003bc3510 is an unknown value
R1 0x0000000000000000
R2 0x0000000000000004 is an unknown value
R3 0x00000000000a86bf is an unknown value
R4 0x0000007000f23f50 points into aligned TLAB 0x0000007000f23aa0 (TLAB of thread 0x0000000103265400)
is an object of type jdk.internal.event.ThreadSleepEvent
R5 0x000000700057d278 points into the image heap (aligned chunk, writable)
is an object of type com.oracle.svm.core.jfr.JfrEvent
R6 0x0000007000f24288 points into aligned TLAB 0x0000007000f23aa0 (TLAB of thread 0x0000000103265400)
is an object of type com.oracle.svm.enterprise.core.monitor.EnterpriseJavaMonitor
R7 0x0000007000f24288 points into aligned TLAB 0x0000007000f23aa0 (TLAB of thread 0x0000000103265400)
is an object of type com.oracle.svm.enterprise.core.monitor.EnterpriseJavaMonitor
R8 0x0000007000541ab8 points into the image heap (aligned chunk, writable)
is an object of type [B with length 388: 0xc0 0xdd 0x26 0x03 0x01 0x00 0x00 0x00 ...
R9 0x000000000006a396 is an unknown value
R10 0x000000016d5ea000 points into the stack for thread 0x0000000103265400
R11 0x00000000002a38e8 is the encoded object header for an object of type jdk.internal.event.ThreadSleepEvent
R12 0x0000007000f23f54 points into aligned TLAB 0x0000007000f23aa0 (TLAB of thread 0x0000000103265400)
R13 0x0000000000000000
R14 0x000000000000001c is an unknown value
R15 0x0000000000000200 is an unknown value
R16 0x0000000000000004 is an unknown value
R17 0x0000000000000100 is an unknown value
R18 0x0000000000000000
R19 0x0000000000000000
R20 0x0000000000000600 is an unknown value
R21 0x0000000000000007 is an unknown value
R22 0x00000000000003c8 is an unknown value
R23 0x0000007000686048 points into the image heap (aligned chunk, writable)
is an object of type jdk.jfr.internal.Type
R24 0x0000000000000003 is an unknown value
R25 0x0000000000000003 is an unknown value
R26 0x0000000102020000 is the code base
R27 0x0000007000000000 is the heap base
R28 0x0000000103265400 is a thread
R29 0x00000000007786a2 is an unknown value
R30 0x0000000102297fa8 points into AOT compiled code java.lang.Throwable.printStackTrace(Throwable.java:698)
SP 0x000000016dde2850 points into the stack for thread 0x0000000103265400
PC 0x0000000102297fb4 points into AOT compiled code java.lang.Throwable.printStackTrace(Throwable.java)
Printing instructions (ip=0x0000000102297fb4):
0x0000000102297eb4: 0x40 0x04 0x80 0x3d 0xe5 0x03 0x1a 0x32 0x46 0x14 0x04 0x29 0x40 0x80 0x82 0x3c
0x0000000102297ec4: 0x40 0x80 0x83 0x3c 0x40 0x80 0x84 0x3c 0x40 0x80 0x85 0x3c 0x40 0x80 0x86 0x3c
0x0000000102297ed4: 0x40 0x80 0x87 0x3c 0x40 0x80 0x88 0x3c 0x40 0x80 0x89 0x3c 0x40 0x80 0x8a 0x3c
0x0000000102297ee4: 0x40 0x80 0x8b 0x3c 0x40 0x80 0x8c 0x3c 0x40 0x80 0x8d 0x3c 0x40 0x80 0x8e 0x3c
0x0000000102297ef4: 0x40 0x80 0x8f 0x3c 0x05 0x21 0x80 0xd2 0x40 0x68 0xa5 0x3c 0x05 0x23 0x80 0xd2
0x0000000102297f04: 0x40 0x68 0xa5 0x3c 0xbf 0x3a 0x03 0xd5 0xe0 0x03 0x04 0xaa 0x9c 0x07 0x05 0x94
0x0000000102297f14: 0xe0 0x27 0x00 0xf9 0x01 0x04 0x40 0xb9 0xe1 0x03 0x01 0x2a 0x61 0x0f 0x01 0x8b
0x0000000102297f24: 0x22 0x80 0x9b 0x52 0x42 0x00 0xa0 0x72 0x62 0x0f 0x02 0x8b 0xe0 0x03 0x01 0xaa
0x0000000102297f34: 0xe1 0x2f 0x40 0xf9 0x6e 0x46 0x06 0x94 0xe1 0x2b 0x40 0xf9 0x20 0x04 0x40 0xb9
0x0000000102297f44: 0xe0 0x03 0x00 0x2a 0x60 0x0f 0x00 0x8b 0xe0 0x23 0x00 0xf9 0x02 0x20 0x40 0xb9
0x0000000102297f54: 0xe2 0x1a 0x00 0x34 0xe2 0x03 0x02 0x2a 0x62 0x0f 0x02 0x8b 0x83 0x23 0x40 0xf9
0x0000000102297f64: 0x49 0x40 0x00 0x91 0x24 0xfd 0xdf 0xc8 0xe4 0x19 0x00 0xb5 0xe4 0x03 0x1f 0xaa
0x0000000102297f74: 0x42 0x40 0x00 0x91 0xe5 0x03 0x04 0xaa 0x43 0xfc 0xe5 0xc8 0xbf 0x00 0x04 0xeb
0x0000000102297f84: 0xe2 0x17 0x9f 0x1a 0x42 0x19 0x00 0x34 0x20 0x04 0x40 0xb9 0xe0 0x03 0x00 0x2a
0x0000000102297f94: 0x60 0x0f 0x00 0x8b 0xe1 0x2f 0x40 0xf9 0x9d 0xc8 0xfd 0x97 0xe0 0x2f 0x40 0xf9
0x0000000102297fa4: 0x3b 0xfc 0xff 0x97 0x1f 0x00 0x1b 0xeb 0xa0 0x29 0x00 0x54 0xe0 0x1f 0x00 0xf9
> 0x0000000102297fb4: 0x01 0x04 0x40 0xb9 0xe1 0x6f 0x00 0xb9 0xe2 0x03 0x1f 0x2a 0x46 0x00 0x00 0x14
0x0000000102297fc4: 0x1f 0x20 0x03 0xd5 0x1f 0x20 0x03 0xd5 0x1f 0x20 0x03 0xd5 0xe2 0x6b 0x00 0xb9
0x0000000102297fd4: 0xe4 0x03 0x7d 0xb2 0x84 0x48 0x22 0x8b 0x04 0x68 0x64 0xb8 0x84 0x09 0x00 0x34
0x0000000102297fe4: 0xe4 0x03 0x04 0x2a 0x64 0x0f 0x04 0x8b 0xe0 0x03 0x04 0xaa 0x1c 0x2b 0xff 0x97
0x0000000102297ff4: 0x01 0x04 0x40 0xb9 0x01 0x28 0x00 0x34 0xa2 0x53 0x8a 0x52 0x42 0x01 0xa0 0x72
0x0000000102298004: 0x62 0x0f 0x02 0x8b 0xe1 0x03 0x01 0x2a 0x61 0x0f 0x01 0x8b 0x21 0x04 0x40 0xb9
0x0000000102298014: 0x81 0x06 0x00 0x34 0xe0 0x1b 0x00 0xf9 0xe0 0x03 0x1f 0xaa 0xe1 0x03 0x02 0xaa
0x0000000102298024: 0xe2 0x17 0x00 0xf9 0x5a 0x69 0xfc 0x97 0xe1 0x1b 0x40 0xf9 0x58 0x69 0xfc 0x97
0x0000000102298034: 0x01 0xfc 0x60 0x93 0x21 0x1c 0x00 0x13 0x01 0x20 0xc1 0x1a 0x21 0x26 0xf8 0x37
0x0000000102298044: 0x83 0x0b 0x42 0xa9 0xe4 0x0f 0x40 0xb2 0x84 0x40 0x21 0x8b 0x84 0xf0 0x7d 0x92
0x0000000102298054: 0xe5 0x03 0x6f 0xb2 0x06 0x5c 0x84 0x52 0x06 0x04 0xa0 0x72 0x9f 0x00 0x05 0xeb
0x0000000102298064: 0x82 0x04 0x00 0x54 0x84 0x00 0x02 0x8b 0x7f 0x00 0x04 0xeb 0x23 0x04 0x00 0x54
0x0000000102298074: 0x84 0x17 0x00 0xf9 0x46 0x00 0x00 0xb9 0x41 0x04 0x00 0xb9 0xbf 0x3a 0x03 0xd5
0x0000000102298084: 0xe1 0x03 0x02 0xaa 0xe2 0x13 0x00 0xf9 0xe2 0x1b 0x40 0xf9 0xbc 0x69 0xfc 0x97
0x0000000102298094: 0xe1 0x0b 0x42 0xa9 0xba 0x69 0xfc 0x97 0xe1 0x03 0x00 0xaa 0xe2 0x13 0x40 0xf9
0x00000001022980a4: 0xe0 0x03 0x02 0xaa 0x6a 0x69 0xfc 0x97 0xe2 0x03 0x00 0xaa 0xe1 0x2b 0x40 0xf9
Top of stack (sp=0x000000016dde2850):
0x000000016dde2830: 0x0000007000f23f50 0x0000000000000004 0x00000000007786a2 0x0000000102297fa8
> 0x000000016dde2850: 0x000000700086d3f8 0x0000007000544138 0x000000700086d390 0x00000001021f1a8c
0x000000016dde2870: 0x00000000007786a2 0x0000001b02214dec 0x00000000007786a2 0x0000007003bc3510
0x000000016dde2890: 0x0000007000544138 0x0000007000f241e0 0x0000007000f24098 0x0000007000f23f50
0x000000016dde28b0: 0x000000700086d648 0x000000700086d378 0x00000000007786a2 0x00000001022992e0
0x000000016dde28d0: 0x000000700041daf8 0x00000070004f3e18 0x00000070004f3e18 0x000000700051c0f0
0x000000016dde28f0: 0x0000007000f23fc8 0x0000007000544138 0x00000000007786a2 0x0000000102293168
0x000000016dde2910: 0x0000000000046272 0x0000000000272b48 0x0000000102292c04 0x0000007000f23f50
0x000000016dde2930: 0x0000007000544138 0x0000007000f23f50 0x00000000007786a2 0x00000001022930dc
0x000000016dde2950: 0x0000000000000600 0x0000000000000000 0x000000016dde31d0 0x000000010215a658
0x000000016dde2970: 0x0000007000f23f50 0x0000007000541ab8 0x00000000007786a2 0x000000010219223c
0x000000016dde2990: 0x000000016dde31d0 0x000000010202023c 0x0000000000000002 0x000000700057d228
0x000000016dde29b0: 0x0000000000000050 0x0000007000f23f50 0x0000007000474ca8 0x0000007000552c68
0x000000016dde29d0: 0x00000000007786a2 0x0000000102030074 0x000000016dde2a00 0x000000010282bb50
0x000000016dde29f0: 0x0000007000000000 0x000000016dde2990 0x000000016dde31d0 0x000000010202fd8c
0x000000016dde2a10: 0x00000001f2ea40c0 0x00000001f2ea5850 0x000000016dde2a60 0x0000000186be92ac
0x000000016dde2a30: 0x00000001f2ea4058 0x0000000000000028 0x0000000000000008 0x000000010284cc80
VM thread locals for the failing thread 0x0000000103265400:
0: JNIThreadLocalEnvironment.jniFunctions = (bytes) 0x0000007000529668
8: StackOverflowCheckImpl.stackBoundaryTL = (Word) 0x0000000000000001 (1)
16: SafepointCheckCounter.value = (int) 0x000654c3 (414915)
20: StatusSupport.status = (int) 0x00000001 (1)
24: ThreadLocalAllocation.regularTLAB = (bytes)
0x0000000103265418: 0x0000007000f23aa0 0x0000007000f25ac0
0x0000000103265428: 0x0000007000f242b8 0x0000007000a58000
56: JavaFrameAnchors.lastAnchor = (Word) 0x0000000000000000 (0)
64: JavaThreads.currentVThreadId = (long) 0x0000000000000003 (3)
72: PlatformThreads.currentThread = (Object) 0x0000007000552c68
is an object of type java.lang.Thread
80: ThreadLocalHandshake.handshakeMutex = (bytes)
0x0000000103265450: 0x000000004d55545a 0x000020a000000000
0x0000000103265460: 0x4d55545a00000000 0x0000000000000000
0x0000000103265470: 0x0000000000000000 0xffffffffffffffff
0x0000000103265480: 0xfffffffefcd9abaf 0x4d55545a4d55545a
144: ThreadLocalHandshake.handshakeCondition = (bytes)
0x0000000103265490: 0x00000000434f4e44 0x8000000000000000
0x00000001032654a0: 0x0000000000000000 0x0000000100000000
0x00000001032654b0: 0x0000000000000000 0x0000000000000000
192: TlabSupport.allocatedBytesAvg = (bytes)
0x00000001032654c0: 0x0000000000000000 0x0000000000000000
0x00000001032654d0: 0x4041800000000000 0x0000000000000000
224: JfrAllocationEvents.lastThreadAllocatedBytes = (long) 0x00000000004e2d78 (5123448)
232: JfrThreadLocal.dataLost = (Word) 0x0000000000000000 (0)
240: JfrThreadLocal.javaBuffer = (Word) 0x00000008c308c000 (37631868928)
248: JfrThreadLocal.missedSamples = (long) 0x0000000000000000 (0)
256: JfrThreadLocal.nativeBuffer = (Word) 0x00000008c2c81000 (37627629568)
264: JfrThreadLocal.samplerBuffer = (Word) 0x00000008c2c61000 (37627498496)
272: JfrThreadLocal.unparseableStacks = (long) 0x0000000000000000 (0)
280: SubstrateDiagnostics.threadOnlyAttachedForCrashHandler = (bytes) 0x0000000000000000
288: ThreadCPULoadEvent.cpuTimeTL = (long) 0x00000000015310c8 (22221000)
296: ThreadCPULoadEvent.userTimeTL = (long) 0x00000000009bc6e8 (10209000)
304: ThreadCPULoadEvent.wallclockTimeTL = (long) 0x000124406733f864 (321334004676708)
312: ThreadLocalAllocation.allocatedAlignedBytes = (Word) 0x0000000000494b48 (4803400)
320: ThreadLocalAllocation.allocatedUnalignedBytes = (Word) 0x000000000004e210 (320016)
328: TlabSupport.desiredSize = (Word) 0x0000000000002000 (8192)
336: TlabSupport.refillWasteLimit = (Word) 0x0000000000000080 (128)
344: TlabSupport.tlabAllocatedAlignedBytesBeforeLastGC = (Word) 0x0000000000000000 (0)
352: VMThreads.IsolateTL = (Word) 0x0000007000000000 (481036337152)
360: VMThreads.OSThreadHandleTL = (Word) 0x00000001f3159d80 (8373247360)
368: VMThreads.OSThreadIdTL = (Word) 0x0000000000000103 (259)
376: VMThreads.StackBase = (Word) 0x000000016dde4000 (6138249216)
384: VMThreads.StackEnd = (Word) 0x000000016d5e8000 (6129876992)
392: VMThreads.StartedByCurrentIsolate = (bytes) 0x0000000000000000
400: VMThreads.nextTL = (Word) 0x0000000000000000 (0)
408: VMThreads.unalignedIsolateThreadMemoryTL = (Word) 0x00000001032653e0 (4347810784)
416: ExceptionUnwind.currentException = (Object) 0x0000000000000000
420: JNIObjectHandles.handles = (Object) 0x0000007000a80bd8
is an object of type com.oracle.svm.core.handles.ThreadLocalHandles
424: JNIThreadLocalPendingException.pendingException = (Object) 0x0000000000000000
428: JNIThreadLocalPrimitiveArrayViews.referencedArraysListHead = (Object) 0x0000000000000000
432: JNIThreadOwnedMonitors.ownedMonitors = (Object) 0x0000000000000000
436: JfrThreadLocal.javaEventWriter = (Object) 0x0000007000f21250
is an object of type jdk.jfr.internal.event.EventWriter
440: NoAllocationVerifier.openVerifiers = (Object) 0x0000000000000000
444: RecurringCallbackSupport.timer = (Object) 0x0000007000f1e940
is an object of type com.oracle.svm.core.thread.RecurringCallbackSupport$RecurringCallbackTimer
448: RecurringCallbackTimer.exception = (Object) 0x0000000000000000
452: ActionOnTransitionToJavaSupport.actionTL = (int) 0x00000000 (0)
456: ImplicitExceptions.implicitExceptionsAreFatal = (int) 0x00000000 (0)
460: JfrSampler.isDisabledForCurrentThread = (int) 0x00000000 (0)
464: JfrSampler.samplerState = (int) 0x00000001 (1)
468: JfrThreadLocal.notified = (int) 0x00000000 (0)
472: RecurringCallbackSupport.suspended = (int) 0x00000000 (0)
476: StackOverflowCheckImpl.yellowZoneStateTL = (int) 0x7efefefe (2130640638)
480: StatusSupport.safepointBehaviorTL = (int) 0x00000001 (1)
484: ThreadLocalHandshake.handshakeState = (int) 0x00000000 (0)
488: ThreadSuspendSupport.suspended = (int) 0x00000000 (0)
492: ThreadsLock.access = (int) 0x00000000 (0)
496: TlabSupport.gcWaste = (int) 0x00000000 (0)
500: TlabSupport.numberOfRefills = (int) 0x000001fd (509)
504: TlabSupport.refillWaste = (int) 0x00001520 (5408)
508: TlabSupport.slowAllocations = (int) 0x0000001b (27)
Java frame anchors for the failing thread 0x0000000103265400:
No anchors
Stacktrace for the failing thread 0x0000000103265400 (A=AOT compiled, J=JIT compiled, D=deoptimized, i=inlined, C=native):
A SP 0x000000016dde2850 IP 0x0000000102297fb4 size=128 java.lang.Throwable.printStackTrace(Throwable.java)
A SP 0x000000016dde28d0 IP 0x00000001022992e0 size=64 java.lang.Throwable.printStackTrace(Throwable.java:686)
A SP 0x000000016dde2910 IP 0x0000000102293168 size=64 java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:579)
A SP 0x000000016dde2950 IP 0x00000001022930dc size=64 java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:571)
A SP 0x000000016dde2990 IP 0x000000010219223c size=80 com.oracle.svm.core.thread.JavaThreads.dispatchUncaughtException(JavaThreads.java:328)
A SP 0x000000016dde29e0 IP 0x0000000102030074 size=48 com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:281)
i SP 0x000000016dde2a10 IP 0x000000010202fd8c size=96 com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:239)
i SP 0x000000016dde2a10 IP 0x000000010202fd8c size=96 com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:341)
A SP 0x000000016dde2a10 IP 0x000000010202fd8c size=96 com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:331)
A SP 0x000000016dde2a70 IP 0x000000010205fb40 size=272 com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_XNhh1mz2Ib2aPR1wdv014D(IsolateEnterStub.java:0)
Threads:
0x000000010326ddc0 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "JFR Periodic Tasks" - 0x0000007000a95640, daemon, stack(0x000000016e548000,0x000000016e757000), OS thread 11011 (0x000000016e757000)
0x000000010326b3c0 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "JFR recorder" - 0x000000700057d038, daemon, stack(0x000000016e330000,0x000000016e53f000), OS thread 9987 (0x000000016e53f000)
0x0000000103265a80 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "Signal Dispatcher" - 0x0000007000a81b88, daemon, stack(0x000000016e000000,0x000000016e20f000), OS thread 6147 (0x000000016e20f000)
0x0000000103265740 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "Reference Handler" - 0x00000070005530c0, daemon, stack(0x000000016dde8000,0x000000016dff7000), OS thread 6403 (0x000000016dff7000)
0x0000000103265400 STATUS_IN_JAVA (PREVENT_VM_FROM_REACHING_SAFEPOINT) "main" - 0x0000007000552c68, stack(0x000000016d5e8000,0x000000016dde4000), OS thread 259 (0x00000001f3159d80)
No VMOperation in progress
The 30 most recent VM operation status changes:
0.013s - Started JFR begin recording (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 1)
0.014s - Started Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 1)
0.014s - Finished Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 1)
0.014s - Finished JFR begin recording (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 1)
0.014s - Started Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 2)
0.014s - Finished Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 2)
0.014s - Started Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 3)
0.014s - Finished Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 3)
0.014s - Started Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 4)
0.014s - Finished Update JFR sampler (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 4)
0.014s - Started Emit periodic JFR events (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 5)
0.014s - Finished Emit periodic JFR events (safepoint: true, queueingThread: 0x0000000103265400, executingThread: 0x0000000103265400, safepointId: 5)
VM mutexes:
mutex "AbstractCollectionPolicy.sizes" is unlocked.
mutex "RealLog.backTracePrinterMutex" is unlocked.
mutex "SamplerBufferPool" is unlocked.
mutex "VMOperationControl" is unlocked.
mutex "freeList" is unlocked.
mutex "jfrChunkWriter" is unlocked.
mutex "jfrMethodRepository" is unlocked.
mutex "jfrOldObjectRepository" is unlocked.
mutex "jfrStackTraceRepository" is unlocked.
mutex "jfrSymbolRepository" is unlocked.
mutex "jfrThreadRepository" is unlocked.
mutex "jfrTypeRepositoryClassId" is unlocked.
mutex "referencePendingList" is unlocked.
mutex "safepoint" is unlocked.
mutex "threadsRead" is unlocked.
mutex "threadsWrite" is unlocked.
Build time information:
Version: Oracle GraalVM 25.1.3+9.1 (serial gc, compressed references), JDK 25.0.3+9-LTS
Platform: darwin/aarch64
Page size: 65536
Supports isolates: true
Container support: false
Object reference size: 4
CPU features used for AOT compiled code: FP, ASIMD, CRC32, LSE
Runtime information:
Isolate id: 0
Heap base: 0x0000007000000000
Code base: 0x0000000102020000
CGlobalData base: 0x000000010284c000
Containerized: false
CPU cores (OS): 16
Memory (OS): 65536M
Page size: 16384
VM uptime: 0.021s
Current timestamp: 1785179725190
AOT compiled code: 0x0000000102020000 - 0x000000010282b03f
Command line:
Heap settings and statistics:
Reserved hub pointer bits: 0b11111
Aligned chunk size: 524288
Large array threshold: 131072
Incremental collections: 0
Complete collections: 0
Heap usage:
Eden: 5.31M (0.00M in 0 aligned chunks, 0.00M in 0 unaligned chunks)
Old: 0.00M (0.00M in 0 aligned chunks, 0.00M in 0 unaligned chunks)
GC policy:
Name: adaptive2
Max eden size: 11441012736
Max survivor size: 3816292352
Max young size: 11449401344
Max old size: 22899326976
Max heap size: 34348728320
Image heap:
Objects in aligned chunks
read-only: 0x0000007000080840 - 0x000000700052b480
read-only relocatables: 0x0000007000529580 - 0x000000700052b480
writable: 0x000000700052b480 - 0x000000700087e900
writeable patched: 0x0000000000000000 - 0x0000000000000000
Objects in unaligned chunks
writable: 0x0000000000000000 - 0x0000000000000000
read-only: 0x0000007000880788 - 0x0000007000a26a10
Heap chunks: E=eden, S=survivor, O=old, F=free; A=aligned chunk, U=unaligned chunk; T=to space
|0x0000007000080000|0x0000007000080840, 0x00000070000ffff8, 0x0000007000100000| 99%| I|A| |
|0x0000007000100000|0x0000007000100840, 0x000000700017fff8, 0x0000007000180000| 99%| I|A| |
|0x0000007000180000|0x0000007000180840, 0x0000007000200000, 0x0000007000200000|100%| I|A| |
|0x0000007000200000|0x0000007000200840, 0x0000007000280000, 0x0000007000280000|100%| I|A| |
|0x0000007000280000|0x0000007000280840, 0x0000007000300000, 0x0000007000300000|100%| I|A| |
|0x0000007000300000|0x0000007000300840, 0x0000007000380000, 0x0000007000380000|100%| I|A| |
|0x0000007000380000|0x0000007000380840, 0x0000007000400000, 0x0000007000400000|100%| I|A| |
|0x0000007000400000|0x0000007000400840, 0x0000007000480000, 0x0000007000480000|100%| I|A| |
|0x0000007000480000|0x0000007000480840, 0x00000070004ffff8, 0x0000007000500000| 99%| I|A| |
|0x0000007000500000|0x0000007000500840, 0x0000007000580000, 0x0000007000580000|100%| I|A| |
|0x0000007000580000|0x0000007000580840, 0x0000007000600000, 0x0000007000600000|100%| I|A| |
|0x0000007000600000|0x0000007000600840, 0x0000007000680000, 0x0000007000680000|100%| I|A| |
|0x0000007000680000|0x0000007000680840, 0x0000007000700000, 0x0000007000700000|100%| I|A| |
|0x0000007000700000|0x0000007000700840, 0x0000007000780000, 0x0000007000780000|100%| I|A| |
|0x0000007000780000|0x0000007000780840, 0x0000007000800000, 0x0000007000800000|100%| I|A| |
|0x0000007000800000|0x0000007000800840, 0x000000700087e900, 0x0000007000880000| 98%| I|A| |
|0x0000007000880000|0x0000007000880788, 0x000000700096a460, 0x000000700096a460|100%| I|U| |
|0x000000700096a460|0x000000700096aa78, 0x0000007000a26a10, 0x0000007000a26a10|100%| I|U| |
|0x0000007000f00000|0x0000007000f00840, 0x0000007000f25ac0, 0x0000007000f80000| 29%| E|A| |
|0x0000007000e80000|0x0000007000e80840, 0x0000007000f00000, 0x0000007000f00000|100%| E|A| |
|0x0000007000e00000|0x0000007000e00840, 0x0000007000e80000, 0x0000007000e80000|100%| E|A| |
|0x0000007000d80000|0x0000007000d80840, 0x0000007000e00000, 0x0000007000e00000|100%| E|A| |
|0x0000007000d00000|0x0000007000d00840, 0x0000007000d80000, 0x0000007000d80000|100%| E|A| |
|0x0000007000c80000|0x0000007000c80840, 0x0000007000cffed8, 0x0000007000d00000| 99%| E|A| |
|0x0000007000c00000|0x0000007000c00840, 0x0000007000c80000, 0x0000007000c80000|100%| E|A| |
|0x0000007000b80000|0x0000007000b80840, 0x0000007000c00000, 0x0000007000c00000|100%| E|A| |
|0x0000007000b00000|0x0000007000b00840, 0x0000007000b80000, 0x0000007000b80000|100%| E|A| |
|0x0000007000a80000|0x0000007000a80840, 0x0000007000aff9d0, 0x0000007000b00000| 99%| E|A| |
|0x0000007000a58000|0x0000007000a58178, 0x0000007000a7f280, 0x0000007000a7f280|100%| E|U| |
|0x0000007000a30000|0x0000007000a30178, 0x0000007000a57280, 0x0000007000a57280|100%| E|U| |
Segfault detected, aborting process. Use '-XX:-InstallSegfaultHandler' to disable the segfault handler at run time and create a core dump instead. Rebuild with '-R:-InstallSegfaultHandler' to disable the handler permanently at build time.
zsh: abort ./repro-exact -XX:StartFlightRecording=filename=r.jfr,dumponexit=true
% cat > JfrNanoTimeRepro.java <<EOF
public class JfrNanoTimeRepro {
public static void main(String[] args) throws Exception {
Thread.sleep(1);
System.out.println("completed");
}
}
EOF
% $GRAALVM_HOME/bin/javac JfrNanoTimeRepro.java
% $GRAALVM_HOME/bin/native-image --enable-monitoring=jfr --exact-reachability-metadata -o repro-exact JfrNanoTimeRepro
% ./repro-exact -XX:StartFlightRecording=filename=r.jfr,dumponexit=true
This bug report generated with Claude Opus 4.8, with the reproducer case verified by hand.
Describe the Issue
A native image built with both
--enable-monitoring=jfrand--exact-reachability-metadatacrashes as soon as a JFR recording is active and the JDK's internalThread.sleepevent is committed. Dropping--exact-reachability-metadatafixes it; nothing else changes.On Oracle GraalVM 25.1 the failure is a segfault that looks like type confusion: a
jdk.internal.event.ThreadSleepEventis dispatched as if it were aThrowable.Earlier GraalVM versions (25 GA) failed differently:
java.lang.ArithmeticException: / by zeroUser-defined
jdk.jfr.Eventsubclasses are unaffected, which localizes the failure. Committing a user event and then sleeping, in one process, records the user event and crashes on the sleep: the JFR timestamp path is working, and what fails is specific to the JDK's internal events.A real application shows the same contrast at scale. With the flag set, 1000 user-defined statement events are recorded normally and the process then dies on its first
Thread.sleep; with the flag dropped, the same application records 1011 events and exits cleanly.Using the latest version of GraalVM can resolve many issues.
GraalVM Version
java version "25.0.3" 2026-04-21 LTS
Java(TM) SE Runtime Environment Oracle GraalVM 25.1.3+9.1 (build 25.0.3+9-LTS-jvmci-25.1-b19)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 25.1.3+9.1 (build 25.0.3+9-LTS-jvmci-25.1-b19, mixed mode, sharing)
Operating System and Version
Linux Rocky 10 aarch64, MacOS Tahoe 26.5.2 amd64
Troubleshooting Confirmation
Run Command
% ./repro-exact -XX:StartFlightRecording=filename=r.jfr,dumponexit=trueExpected Behavior
JFR should include sleep events in the generated recording
Actual Behavior
Steps to Reproduce
Additional Context
This bug report generated with Claude Opus 4.8, with the reproducer case verified by hand.
Run-Time Log Output and Error Messages
No response