JDK-8330612 : [arm32] java -XX:+TieredCompilation -version hangs due to SIGSEGV in java thread
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 22,23
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • OS: linux_ubuntu
  • CPU: arm
  • Submitted: 2024-04-19
  • Updated: 2025-07-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Blocks :  
Relates :  
Description
The issue was reproduced on Ubuntu Noble 24.04 armhf. 
A number of tier1 codegen/c1 tests hang randomly. 
I could not reproduce it in Jammy. 

The reproducer is 
'java -XX:+TieredCompilation  -version' in release or fastdebug configuration.
The process is locked up and does not produce crashdump.

(gdb) info threads
  Id   Target Id                                         Frame 
  1    Thread 0xf7cf6020 (LWP 1013938) "java"            __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  2    Thread 0xa97ef420 (LWP 1013953) "C1 CompilerThre" __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  3    Thread 0xa986f420 (LWP 1013952) "C2 CompilerThre" __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  4    Thread 0xa98bf420 (LWP 1013951) "Monitor Deflati" __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  5    Thread 0xa990f420 (LWP 1013950) "Service Thread"  __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  6    Thread 0xa995f420 (LWP 1013949) "Signal Dispatch" __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  7    Thread 0xa99af420 (LWP 1013948) "Finalizer"       __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  8    Thread 0xa99ff420 (LWP 1013947) "Reference Handl" __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  9    Thread 0xa9d88420 (LWP 1013946) "VM Thread"       __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  10   Thread 0xa9e09420 (LWP 1013945) "VM Periodic Tas" __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  11   Thread 0xaa9ff420 (LWP 1013944) "G1 Service"      __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  12   Thread 0xaabff420 (LWP 1013943) "G1 Refine#0"     __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  13   Thread 0xec4c6420 (LWP 1013942) "G1 Conc#0"       __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  14   Thread 0xec547420 (LWP 1013941) "G1 Main Marker"  __libc_do_syscall ()
--Type <RET> for more, q to quit, c to continue without paging--  
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  15   Thread 0xf69ff420 (LWP 1013940) "GC Thread#0"     __libc_do_syscall ()
    at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
* 16   Thread 0xf7b7a420 (LWP 1013939) "java"            javaSignalHandler (sig=11, info=0xf7b79278, 
    context=0xf7b792f8) at /mnt/build/jdk22u/src/hotspot/os/posix/signals_posix.cpp:668

thread 16: 
(gdb) where
#0  javaSignalHandler (sig=11, info=0xf7b79278, context=0xf7b792f8)
    at /mnt/build/jdk22u/src/hotspot/os/posix/signals_posix.cpp:668
#1  <signal handler called>
#2  0xf7b79648 in ?? ()
#3  0xf6d275c2 in JavaThread::cast (t=0x0) at /mnt/build/jdk22u/src/hotspot/share/runtime/javaThread.hpp:979
#4  JavaThread::cast (t=0x0) at /mnt/build/jdk22u/src/hotspot/share/runtime/javaThread.hpp:979
#5  JavaThread::current_or_null () at /mnt/build/jdk22u/src/hotspot/share/runtime/javaThread.hpp:1195
#6  JavaThread::set_thread_state (s=_thread_in_Java, this=0x7fe)
    at /mnt/build/jdk22u/src/hotspot/share/runtime/javaThread.inline.hpp:151
#7  ThreadStateTransition::transition_from_vm (check_asyncs=true, to=_thread_in_Java, thread=0x7fe)
    at /mnt/build/jdk22u/src/hotspot/share/runtime/interfaceSupport.inline.hpp:114
#8  ThreadInVMfromJava::~ThreadInVMfromJava (this=<synthetic pointer>, __in_chrg=<optimized out>)
    at /mnt/build/jdk22u/src/hotspot/share/runtime/interfaceSupport.inline.hpp:140
#9  Runtime1::counter_overflow (current=0x7fe, bci=<optimized out>, method=<optimized out>)
    at /mnt/build/jdk22u/src/hotspot/share/c1/c1_Runtime1.cpp:497
#10 0xec6950f0 in ?? ()

all other threads are waiting.

This could be some followup remaining from JDK-8315940


Comments
Hi, The build is using gcc-13 which is default in Ubuntu 24.04. The issue is not specific to the gcc version, as we have the same problem in 25.04 (plucky)[1] Best Regards, Vladimir. [1] https://launchpadlibrarian.net/777596580/buildlog_ubuntu-plucky-armhf.openjdk-24_24~36ea-1ubuntu2~ppa3_BUILDING.txt.gz
20-02-2025

[~vpetko] should the build be compiled with default tools from Ubuntu 24.04? What GCC version was used?
20-02-2025