JDK-8371957 : assert(verify(phase)) failed: missing Value() optimization with CTW on linux-aarch64
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 26
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2025-11-16
  • Updated: 2025-11-16
  • Resolved: 2025-11-16
Related Reports
Duplicate :  
Description
The CTW tests in test/hotspot/jtreg/applications/ctw/modules/* are now tripping an assert. JDK-8340968 is a similar assert but in the leyden repo from a year ago. JDK-8371709 added CTW to the hotspot_compiler test group so maybe CTW is running more than it did previously.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/mach5/mesos/work_dir/slaves/526fbd26-20de-495c-9a19-a04adc16f7d1-S26828/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/503252c3-ed13-4732-991f-a75d09a181fc/runs/83225625-c7d9-4af1-91a2-7abc6a6cecec/workspace/open/src/hotspot/share/opto/subtypenode.cpp:113), pid=2944790, tid=2944821
#  assert(verify(phase)) failed: missing Value() optimization
#
# JRE version: Java(TM) SE Runtime Environment (26.0+25) (fastdebug build 26-ea+25-2488)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-ea+25-2488, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V  [libjvm.so+0x17d44e0]  SubTypeCheckNode::Ideal(PhaseGVN*, bool)+0x3b8
#
# Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier3_compiler/scratch/2/core.2944790)
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#

Stack: [0x0000ffff6cc0b000,0x0000ffff6ce09000],  sp=0x0000ffff6ce04ba0,  free space=2022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x17d4120]  SubTypeCheckNode::Ideal(PhaseGVN*, bool)+0x3b8  (subtypenode.cpp:113)
V  [libjvm.so+0x15d05a4]  PhaseGVN::transform(Node*)+0x84  (phaseX.cpp:668)
V  [libjvm.so+0xddf77c]  GraphKit::gen_subtype_check(Node*, Node*)+0xd8  (graphKit.cpp:2903)
V  [libjvm.so+0xddfc88]  GraphKit::subtype_check_receiver(Node*, ciKlass*, Node**)+0x68  (graphKit.cpp:2949)
V  [libjvm.so+0x81b290]  PredictedCallGenerator::generate(JVMState*)+0x130  (callGenerator.cpp:884)
V  [libjvm.so+0xb82848]  Parse::do_call()+0x2e8  (doCall.cpp:683)
V  [libjvm.so+0x15a4bd8]  Parse::do_one_bytecode()+0x418  (parse2.cpp:2723)
V  [libjvm.so+0x1592c68]  Parse::do_one_block()+0x224  (parse1.cpp:1593)
V  [libjvm.so+0x159402c]  Parse::do_all_blocks()+0x13c  (parse1.cpp:724)
V  [libjvm.so+0x1597424]  Parse::Parse(JVMState*, ciMethod*, float)+0x9e0  (parse1.cpp:628)
V  [libjvm.so+0x8172d8]  ParseGenerator::generate(JVMState*)+0xe8  (callGenerator.cpp:97)
V  [libjvm.so+0x9e79ac]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x12a0  (compile.cpp:805)
V  [libjvm.so+0x814c40]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x2dc  (c2compiler.cpp:147)
V  [libjvm.so+0x9f6b0c]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb08  (compileBroker.cpp:2345)
V  [libjvm.so+0x9f7a44]  CompileBroker::compiler_thread_loop()+0x644  (compileBroker.cpp:1989)
V  [libjvm.so+0xefdd68]  JavaThread::thread_main_inner()+0x108  (javaThread.cpp:776)
V  [libjvm.so+0x1874d9c]  Thread::call_run()+0xac  (thread.cpp:242)
V  [libjvm.so+0x1546d0c]  thread_native_entry(Thread*)+0x11c  (os_linux.cpp:877)
C  [libpthread.so.0+0x7950]  start_thread+0x190
Comments
I'm backing JDK-8371709 out with JDK-8371958.
16-11-2025