JDK-8370939 : C2: SIGSEGV in SafePointNode::verify_input when processing MH call from Compile::process_late_inline_calls_no_inline()
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2025-10-30
  • Updated: 2025-12-02
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.
JDK 26
26Unresolved
Related Reports
Causes :  
Description
With attached test case:

$ java -XX:-TieredCompilation -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:CompileOnly=TestLateMHClonedCallNode::test2 TestLateMHClonedCallNode                                    
[0.012s][warning][cds] The shared archive file was created by a different version or build of HotSpot                                                                                                                                                                             
CompileCommand: compileonly TestLateMHClonedCallNode.test2 bool compileonly = true                                                                                                                                                                                                
#                                                                                                                                                                                                                                                                                 
# A fatal error has been detected by the Java Runtime Environment:                                                                                                                                                                                                                
#                                                                                                                                                                                                                                                                                 
#  SIGSEGV (0xb) at pc=0x00007f2f3add29a6, pid=998638, tid=998653                                                                                                                                                                                                                 
#                                                                                                                                                                                                                                                                                 
# JRE version: OpenJDK Runtime Environment (26.0) (slowdebug build 26-internal-adhoc.roland.jdk-jdk)                                                                                                                                                                              
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 26-internal-adhoc.roland.jdk-jdk, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)                                                                                                                          
# Problematic frame:                                                                                                                                                                                                                                                              
# V  [libjvm.so+0x5d29a6]  SafePointNode::verify_input(JVMState const*, unsigned int) const+0xb0                                                                                                                                                                                  
#                                                                                                                                                                                                                                                                                 
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %d %F" (or dumping to /home/roland/tmp/core.998638)                                                                                       
#                                                                                                                                                                                                                                                                                 
# An error report file with more information is saved as:                                                                                                                                                                                                                         
# /home/roland/tmp/hs_err_pid998638.log                                                                                                                                                                                                                                           
#                                                                                                                                                                                                                                                                                 
# Compiler replay data is saved as:                                                                                                                                                                                                                                               
# /home/roland/tmp/replay_pid998638.log                                                                                                                                                                                                                                           
#                                                                                                                                                                                                                                                                                 
# If you would like to submit a bug report, please visit:                                                                                                                                                                                                                         
#   https://bugreport.java.com/bugreport/crash.jsp                                                                                                                                                                                                                                
#                                                                                                                                                                                                                                                                                 
Aborted (core dumped)                                                         

Was first reported here:
https://github.com/netty/netty/pull/15764#issuecomment-3457288027


With a fastdebug build with latest mainline we get the following failuer:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f68641acf36, pid=40614, tid=40633
#
# JRE version: Java(TM) SE Runtime Environment (26.0+19) (fastdebug build 26-ea+19-1914)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-ea+19-1914, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0xfacf36]  GraphKit::dead_locals_are_killed()+0x2f6
.....
C2:1287  100    b        TestLateMHClonedCallNode::test2 (12 bytes)

Stack: [0x00007f684400c000,0x00007f684410c000],  sp=0x00007f6844106c40,  free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xfacf36]  GraphKit::dead_locals_are_killed()+0x2f6
V  [libjvm.so+0xfaf1fd]  GraphKit::add_safepoint_edges(SafePointNode*, bool)+0x12cd
V  [libjvm.so+0xfb1655]  GraphKit::set_edges_for_java_call(CallJavaNode*, bool, bool)+0xc5
V  [libjvm.so+0x9ad514]  DirectCallGenerator::generate(JVMState*)+0x2d4
V  [libjvm.so+0x9aabd3]  CallGenerator::do_late_inline_helper()+0xa63
V  [libjvm.so+0xb7de58]  Compile::inline_incrementally_one()+0x1b8
V  [libjvm.so+0xb7ec2a]  Compile::process_late_inline_calls_no_inline(PhaseIterGVN&)+0x10a
V  [libjvm.so+0xb8293f]  Compile::Optimize()+0x10bf
V  [libjvm.so+0xb856f3]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x2023
V  [libjvm.so+0x9a1a33]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x4a3
V  [libjvm.so+0xb94cf0]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x780
V  [libjvm.so+0xb96550]  CompileBroker::compiler_thread_loop()+0x530
V  [libjvm.so+0x10ed5bb]  JavaThread::thread_main_inner()+0x13b
V  [libjvm.so+0x1b617e6]  Thread::call_run()+0xb6
V  [libjvm.so+0x17cc688]  thread_native_entry(Thread*)+0x128
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/28088 Date: 2025-10-31 16:39:07 +0000
31-10-2025

ILW = Assertion failure in late inlining, single case, disable compilation of affected method = HLM = P3
31-10-2025