As reported in https://mail.openjdk.org/pipermail/valhalla-dev/2025-October/015800.html, build 8845b6a crashes on Linux AArch64 when running tests via mvn package. I was able to reproduce SIGSEV and assertion failures while running: https://github.com/forax/weather-alert/blob/caf472edc87c62b6036fb1696ac82647231bdcd0/src/test/java/util/FlatListFactoryTest.java . I have NOT been able to reproduce this with binaries based on the jep401-ea2 branch.
In some cases, an assertion is hit and there is no SIGSEGV crash:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/share/runtime/stackValue.cpp:126), pid=223573, tid=223574
# assert(oopDesc::is_oop_or_null(val)) failed: bad oop found at 0x0000ffffbbf8bde8 in_cont: 0 compressed: 0
#
# JRE version: OpenJDK Runtime Environment (26.0) (slowdebug build 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x1793a50] StackValue::create_stack_value_from_oop_location(stackChunkOopDesc*, void*)+0x84
#
# Core dump will be written. Default location: /tmp/cores/core.%e.223573.%h.%t
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: --enable-preview --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED /home/paul/weather-alert/target/surefire/surefirebooter-20251023090508212_3.jar /home/paul/weather-alert/target/surefire 2025-10-23T09-04-41_997-jvmRun1 surefire-20251023090508212_1tmp surefire_0-20251023090508212_2tmp
AArch64, 16 cores, 30G, Oracle Linux Server release 9.6
Time: Thu Oct 23 09:05:44 2025 GMT elapsed time: 23.786097 seconds (0d 0h 0m 23s)
--------------- T H R E A D ---------------
Current thread (0x0000ffffb402c030): JavaThread "main" [_thread_in_Java, id=223574, stack(0x0000ffffbbd93000,0x0000ffffbbf91000) (2040K)]
Stack: [0x0000ffffbbd93000,0x0000ffffbbf91000], sp=0x0000ffffbbf8a6f0, free space=2013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1793a50] StackValue::create_stack_value_from_oop_location(stackChunkOopDesc*, void*)+0x84 (stackValue.cpp:126)
In most cases, it's a plain SIGSEGV:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000ffff7ee7c4a0, pid=223090, tid=223091
#
# JRE version: OpenJDK Runtime Environment (26.0) (slowdebug build 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.String.equals(Ljava/lang/Object;)Z+8 java.base@26-testing
#
# Core dump will be written. Default location: /tmp/cores/core.%e.223090.%h.%t
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: --enable-preview --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED /home/paul/weather-alert/target/surefire/surefirebooter-20251023085839398_3.jar /home/paul/weather-alert/target/surefire 2025-10-23T08-58-14_635-jvmRun1 surefire-20251023085839398_1tmp surefire_0-20251023085839398_2tmp
AArch64, 16 cores, 30G, Oracle Linux Server release 9.6
Time: Thu Oct 23 08:59:15 2025 GMT elapsed time: 24.903564 seconds (0d 0h 0m 24s)
--------------- T H R E A D ---------------
Current thread (0x0000ffff9002c030): JavaThread "main" [_thread_in_Java, id=223091, stack(0x0000ffff974de000,0x0000ffff976dc000) (2040K)]
Stack: [0x0000ffff974de000,0x0000ffff976dc000], sp=0x0000ffff976d6d70, free space=2019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
j java.lang.String.equals(Ljava/lang/Object;)Z+8 java.base@26-testing
In some cases, an assertion is hit and there is no SIGSEGV crash:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/share/runtime/stackValue.cpp:126), pid=223573, tid=223574
# assert(oopDesc::is_oop_or_null(val)) failed: bad oop found at 0x0000ffffbbf8bde8 in_cont: 0 compressed: 0
#
# JRE version: OpenJDK Runtime Environment (26.0) (slowdebug build 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x1793a50] StackValue::create_stack_value_from_oop_location(stackChunkOopDesc*, void*)+0x84
#
# Core dump will be written. Default location: /tmp/cores/core.%e.223573.%h.%t
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: --enable-preview --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED /home/paul/weather-alert/target/surefire/surefirebooter-20251023090508212_3.jar /home/paul/weather-alert/target/surefire 2025-10-23T09-04-41_997-jvmRun1 surefire-20251023090508212_1tmp surefire_0-20251023090508212_2tmp
AArch64, 16 cores, 30G, Oracle Linux Server release 9.6
Time: Thu Oct 23 09:05:44 2025 GMT elapsed time: 23.786097 seconds (0d 0h 0m 23s)
--------------- T H R E A D ---------------
Current thread (0x0000ffffb402c030): JavaThread "main" [_thread_in_Java, id=223574, stack(0x0000ffffbbd93000,0x0000ffffbbf91000) (2040K)]
Stack: [0x0000ffffbbd93000,0x0000ffffbbf91000], sp=0x0000ffffbbf8a6f0, free space=2013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1793a50] StackValue::create_stack_value_from_oop_location(stackChunkOopDesc*, void*)+0x84 (stackValue.cpp:126)
In most cases, it's a plain SIGSEGV:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000ffff7ee7c4a0, pid=223090, tid=223091
#
# JRE version: OpenJDK Runtime Environment (26.0) (slowdebug build 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 26-testing-builds.shipilev.net-openjdk-jdk-valhalla-b603-20251022-2210, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.String.equals(Ljava/lang/Object;)Z+8 java.base@26-testing
#
# Core dump will be written. Default location: /tmp/cores/core.%e.223090.%h.%t
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: --enable-preview --add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports=java.base/jdk.internal.value=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED /home/paul/weather-alert/target/surefire/surefirebooter-20251023085839398_3.jar /home/paul/weather-alert/target/surefire 2025-10-23T08-58-14_635-jvmRun1 surefire-20251023085839398_1tmp surefire_0-20251023085839398_2tmp
AArch64, 16 cores, 30G, Oracle Linux Server release 9.6
Time: Thu Oct 23 08:59:15 2025 GMT elapsed time: 24.903564 seconds (0d 0h 0m 24s)
--------------- T H R E A D ---------------
Current thread (0x0000ffff9002c030): JavaThread "main" [_thread_in_Java, id=223091, stack(0x0000ffff974de000,0x0000ffff976dc000) (2040K)]
Stack: [0x0000ffff974de000,0x0000ffff976dc000], sp=0x0000ffff976d6d70, free space=2019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
j java.lang.String.equals(Ljava/lang/Object;)Z+8 java.base@26-testing