-
Bug
-
Resolution: Fixed
-
P4
-
repo-leyden
Testing shows crash in C1 AOT compiled java.lang.Thread.<init> method after applying fix for JDK-8362559.
Several `runtime/cds/appcds/aotClassLinking` and `aotCache/` tests crashed this way in production run when ` -Xcomp -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:TieredStopAtLevel=1` flags are used.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000ffff64f374a4, pid=3010561, tid=3010564
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-07-23-0310178.vladimir.kozlov.leyden)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-07-23-0310178.vladimir.kozlov.leyden, compiled mode, emulated-client, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# A 938 c1 java.lang.Thread.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;ILjava/lang/Runnable;J)V java.base@25-internal (243 bytes) @ 0x0000ffff64f374a4 [0x0000ffff64f36f80+0x0000000000000524]
#
--------------- T H R E A D ---------------
Current thread (0x0000ffff7c02edd0): JavaThread "main" [_thread_in_Java, id=3010564, stack(0x0000ffff81b79000,0x0000ffff81d77000) (2040K)]
Stack: [0x0000ffff81b79000,0x0000ffff81d77000], sp=0x0000ffff81d71c10, free space=2019k
Native frames: (J=compiled Java code, A=AOT compiled, P=AOT preloaded, j=interpreted, Vv=VM code, C=native code)
A 938 c1 java.lang.Thread.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;ILjava/lang/Runnable;J)V java.base@25-internal (243 bytes) @ 0x0000ffff64f374a4 [0x0000ffff64f36f80+0x0000000000000524]
J 937 c1 jdk.internal.misc.InnocuousThread.createThread(Ljava/lang/String;Ljava/lang/Runnable;JLjava/lang/ClassLoader;I)Ljava/lang/Thread; java.base@25-internal (32 bytes) @ 0x0000ffff64f36af0 [0x0000ffff64f36a00+0x00000000000000f0]
A 936 c1 jdk.internal.misc.InnocuousThread.newSystemThread(Ljava/lang/String;Ljava/lang/Runnable;I)Ljava/lang/Thread; java.base@25-internal (9 bytes) @ 0x0000ffff64f367e8 [0x0000ffff64f36780+0x0000000000000068]
j jdk.internal.ref.CleanerFactory$1.newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;+5 java.base@25-internal
j jdk.internal.ref.CleanerImpl.start(Ljava/lang/ref/Cleaner;Ljava/util/concurrent/ThreadFactory;)V+37 java.base@25-internal
j java.lang.ref.Cleaner.create(Ljava/util/concurrent/ThreadFactory;)Ljava/lang/ref/Cleaner;+21 java.base@25-internal
j jdk.internal.ref.CleanerFactory.<clinit>()V+7 java.base@25-internal
v ~StubRoutines::call_stub 0x0000ffff6475149c
Several `runtime/cds/appcds/aotClassLinking` and `aotCache/` tests crashed this way in production run when ` -Xcomp -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:TieredStopAtLevel=1` flags are used.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000ffff64f374a4, pid=3010561, tid=3010564
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-internal-LTS-2025-07-23-0310178.vladimir.kozlov.leyden)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-internal-LTS-2025-07-23-0310178.vladimir.kozlov.leyden, compiled mode, emulated-client, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# A 938 c1 java.lang.Thread.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;ILjava/lang/Runnable;J)V java.base@25-internal (243 bytes) @ 0x0000ffff64f374a4 [0x0000ffff64f36f80+0x0000000000000524]
#
--------------- T H R E A D ---------------
Current thread (0x0000ffff7c02edd0): JavaThread "main" [_thread_in_Java, id=3010564, stack(0x0000ffff81b79000,0x0000ffff81d77000) (2040K)]
Stack: [0x0000ffff81b79000,0x0000ffff81d77000], sp=0x0000ffff81d71c10, free space=2019k
Native frames: (J=compiled Java code, A=AOT compiled, P=AOT preloaded, j=interpreted, Vv=VM code, C=native code)
A 938 c1 java.lang.Thread.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;ILjava/lang/Runnable;J)V java.base@25-internal (243 bytes) @ 0x0000ffff64f374a4 [0x0000ffff64f36f80+0x0000000000000524]
J 937 c1 jdk.internal.misc.InnocuousThread.createThread(Ljava/lang/String;Ljava/lang/Runnable;JLjava/lang/ClassLoader;I)Ljava/lang/Thread; java.base@25-internal (32 bytes) @ 0x0000ffff64f36af0 [0x0000ffff64f36a00+0x00000000000000f0]
A 936 c1 jdk.internal.misc.InnocuousThread.newSystemThread(Ljava/lang/String;Ljava/lang/Runnable;I)Ljava/lang/Thread; java.base@25-internal (9 bytes) @ 0x0000ffff64f367e8 [0x0000ffff64f36780+0x0000000000000068]
j jdk.internal.ref.CleanerFactory$1.newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;+5 java.base@25-internal
j jdk.internal.ref.CleanerImpl.start(Ljava/lang/ref/Cleaner;Ljava/util/concurrent/ThreadFactory;)V+37 java.base@25-internal
j java.lang.ref.Cleaner.create(Ljava/util/concurrent/ThreadFactory;)Ljava/lang/ref/Cleaner;+21 java.base@25-internal
j jdk.internal.ref.CleanerFactory.<clinit>()V+7 java.base@25-internal
v ~StubRoutines::call_stub 0x0000ffff6475149c