JDK-8292088 : C2: assert(is_OuterStripMinedLoop()) failed: invalid node class: IfTrue
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 19,20
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-08-09
  • Updated: 2022-12-06
  • Resolved: 2022-09-19
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 20
20 b16Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
The following test failed in the JDK20 CI:

applications/javafuzzer/BigTest.java

Here's a snippet from the log file:

Summary of the JavaFuzzer run:
------------------------------
Host:     <host>
Tests:    12 x 300
Args:     -conf config.yml

Started  at: Tue Aug  9 04:03:31 GMT 2022


r10- 300: 194 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 106 Reference Java failures
r7- 300: 191 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 109 Reference Java failures
r2- 300: 182 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 118 Reference Java failures
r6- 300: 178 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 122 Reference Java failures
r1- 300: 184 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 116 Reference Java failures
r12- 300: 181 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 119 Reference Java failures
r4- 300: 181 passed, 2 crashes, 0 fails, 0 hangs, 0 incorrect tests, 118 Reference Java failures
r9- 300: 181 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 119 Reference Java failures
r8- 300: 185 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 115 Reference Java failures
r5- 300: 186 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 114 Reference Java failures
r11- 300: 178 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 122 Reference Java failures
r3- 300: 171 passed, 0 crashes, 0 fails, 0 hangs, 0 incorrect tests, 129 Reference Java failures

Finished at: Tue Aug  9 12:05:43 GMT 2022


#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (c:\\sb\\prod\\1659780030\\workspace\\open\\src\\hotspot\\share\\opto/node.hpp:925), pid=50512, tid=50840
#  assert(is_OuterStripMinedLoop()) failed: invalid node class: IfTrue
#
# JRE version: Java(TM) SE Runtime Environment (20.0+10) (fastdebug build 20-ea+10-545)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 20-ea+10-545, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Core dump will be written. Default location: C:\\sb\\prod\\1660017689\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_javafuzzer_BigTest_java\\tmp\\fuzzer.tmp.axklN8HRXL\\hs_err_pid50512.mdmp
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#

Command line flags: -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test -XX:CompileCommand=quiet

Here's the crashing thread's stack:

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

Current thread (0x00000143e6ff8260):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=50840, stack(0x0000003f9bf00000,0x0000003f9c000000)]


Current CompileTask:
C2:    576   11    b        Test::vMeth1 (274 bytes)

Stack: [0x0000003f9bf00000,0x0000003f9c000000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0xc5e0e1]  os::win32::platform_print_native_stack+0xf1  (os_windows_x86.cpp:236)
V  [jvm.dll+0xebb2fe]  VMError::report+0x10de  (vmError.cpp:839)
V  [jvm.dll+0xebcd2e]  VMError::report_and_die+0x65e  (vmError.cpp:1687)
V  [jvm.dll+0xebd4a4]  VMError::report_and_die+0x64  (vmError.cpp:1468)
V  [jvm.dll+0x59c427]  report_vm_error+0xb7  (debug.cpp:284)
V  [jvm.dll+0xab43f0]  Node::as_OuterStripMinedLoop+0x50  (node.hpp:925)
V  [jvm.dll+0xad0ada]  LoopNode::verify_strip_mined+0xda  (loopnode.cpp:2160)
V  [jvm.dll+0x536686]  Compile::final_graph_reshaping_main_switch+0x15c6  (compile.cpp:3721)
V  [jvm.dll+0x534f94]  Compile::final_graph_reshaping_impl+0x484  (compile.cpp:3138)
V  [jvm.dll+0x5373a0]  Compile::final_graph_reshaping_walk+0x2b0  (compile.cpp:3880)
V  [jvm.dll+0x533ff4]  Compile::final_graph_reshaping+0x2b4  (compile.cpp:3982)
V  [jvm.dll+0x5307f6]  Compile::Optimize+0x1786  (compile.cpp:2466)
V  [jvm.dll+0x52cf5d]  Compile::Compile+0x14ad  (compile.cpp:824)
V  [jvm.dll+0x452b45]  C2Compiler::compile_method+0x145  (c2compiler.cpp:115)
V  [jvm.dll+0x547050]  CompileBroker::invoke_compiler_on_method+0x980  (compileBroker.cpp:2314)
V  [jvm.dll+0x5445fc]  CompileBroker::compiler_thread_loop+0x25c  (compileBroker.cpp:1982)
V  [jvm.dll+0x81383f]  JavaThread::thread_main_inner+0x29f  (javaThread.cpp:700)
V  [jvm.dll+0xe34b57]  Thread::call_run+0x257  (thread.cpp:229)
V  [jvm.dll+0xc5ca08]  thread_native_entry+0xb8  (os_windows.cpp:546)
C  [ucrtbase.dll+0x2268a]
C  [KERNEL32.DLL+0x17974]
C  [ntdll.dll+0x5a0b1]
Comments
Changeset: 471e2f12 Author: Christian Hagedorn <chagedorn@openjdk.org> Date: 2022-09-19 10:15:18 +0000 URL: https://git.openjdk.org/jdk/commit/471e2f12b44cafc583a8ae118e36df5f00dfd624
19-09-2022

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/10306 Date: 2022-09-16 12:00:43 +0000
16-09-2022

ILW = C2 assertion in final graph reshaping, only single fuzzer test, disable compilation of affected method = HLM = P3
10-08-2022

Starts to fail after JDK-8281429 which only improved the type of a phi. This suggests that it must have revealed an existing issue. Therefore, it does not necessarily must be a regression in JDK 19.
10-08-2022