JDK-8370200 : Crash: assert(outer->outcnt() >= phis + 2 - be_loads && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2025-10-20
  • Updated: 2025-10-20
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
Relates :  
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (c:\sb\prod\1760433405\workspace\open\src\hotspot\share\opto\loopnode.cpp:2748), pid=62568, tid=63764
#  assert(outer->outcnt() >= phis + 2 - be_loads && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis
#
# JRE version: Java(TM) SE Runtime Environment (26.0+20) (fastdebug build 26-ea+20-2025)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-ea+20-2025, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# V  [jvm.dll+0xc7b97c]  LoopNode::verify_strip_mined+0xa0c
#
# Core dump will be written. Default location: C:\sb\prod\1760777910\testoutput\test-support\jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_LongRunningTests_java\tmpfuzzer.tmp.BSmfCsYLMa\hs_err_pid62568.mdmp
#
# 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: -XX:+UnlockDiagnosticVMOptions -XX:RepeatCompilation=30 -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressLoopPeeling -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=10 -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=c:\ade\mesos\work_dir\jib-master\install\jdk\24\36\bundles\windows-x64\jdk-24_windows-x64_bin.zip\jdk-24 -Djava.io.tmpdir=c:\sb\prod\1760777910\testoutput\test-support\jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_LongRunningTests_java\tmp -XX:+CreateCoredumpOnCrash Test

Host: AMD EPYC 7J13 64-Core Processor                , 12 cores, 23G,  Windows Server 2025 , 64 bit Build 26100 (10.0.26100.1591)
Time: Sat Oct 18 12:23:08 2025 /GM elapsed time: 2.736018 seconds (0d 0h 0m 2s)

---------------  T H R E A D  ---------------

Current thread (0x00000297c2c93670):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=63764, stack(0x000000c3b5400000,0x000000c3b5500000) (1024K)]


Current CompileTask:
C2:2736    5   !b        Test::mainTest (582 bytes)

Stack: [0x000000c3b5400000,0x000000c3b5500000],  sp=0x000000c3b54faf50,  free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0xc7b97c]  LoopNode::verify_strip_mined+0xa0c  (loopnode.cpp:2748)
V  [jvm.dll+0x5c9708]  Compile::final_graph_reshaping_main_switch+0x12d8  (compile.cpp:3814)
V  [jvm.dll+0x5c80c8]  Compile::final_graph_reshaping_impl+0x398  (compile.cpp:3230)
V  [jvm.dll+0x5ca8ac]  Compile::final_graph_reshaping_walk+0x2bc  (compile.cpp:3967)
V  [jvm.dll+0x5c6dbe]  Compile::final_graph_reshaping+0x2ce  (compile.cpp:4072)
V  [jvm.dll+0x5c23c1]  Compile::Optimize+0x10b1  (compile.cpp:2590)
V  [jvm.dll+0x5beb9f]  Compile::Compile+0x10ff  (compile.cpp:861)
V  [jvm.dll+0x4c3429]  C2Compiler::compile_method+0x179  (c2compiler.cpp:150)
V  [jvm.dll+0x5dceb3]  CompileBroker::invoke_compiler_on_method+0x843  (compileBroker.cpp:2355)
V  [jvm.dll+0x5da29c]  CompileBroker::compiler_thread_loop+0x27c  (compileBroker.cpp:1990)
V  [jvm.dll+0x925871]  JavaThread::thread_main_inner+0x251  (javaThread.cpp:773)
V  [jvm.dll+0x105573e]  Thread::call_run+0x1be  (thread.cpp:248)
V  [jvm.dll+0xdfc634]  thread_native_entry+0xc4  (os_windows.cpp:555)
C  [ucrtbase.dll+0x14ea0]  (no source info available)
C  [KERNEL32.DLL+0x2dbe7]  (no source info available)
C  [ntdll.dll+0x85a6c]  (no source info available)
Comments
Roland, would you have time to take a look at this?
20-10-2025

ILW = Loop strip mining verification fails, with stress flags and generated test, disable loop strip mining or compilation of affected method = HLM = P3
20-10-2025

Seems to be triggered by JDK-8360561 in JDK 26 b13. I attached a reduced test: java -XX:RepeatCompilation=10000 -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*TestSimple*::mainTest -XX:-TieredCompilation -Xcomp -XX:+StressIGVN -XX:+StressLoopPeeling -XX:PerMethodTrapLimit=0 TestSimple.java That one also reproduces with JDK 25 since -XX:+StressLoopPeeling was added by JDK-8355488.
20-10-2025

Reproduces with replay compilation: java -XX:RepeatCompilation=1000 -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+StressIGVN -XX:+StressLoopPeeling -XX:PerMethodTrapLimit=0 -XX:+ReplayCompiles -XX:+ReplayIgnoreInitErrors -XX:ReplayDataFile=replay_pid62568.log
20-10-2025