JDK-8264360 : Loop strip mining verification fails with "should be on the backedge"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,16,17
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-03-29
  • Updated: 2025-01-21
  • Resolved: 2021-03-30
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 11 JDK 17
11.0.12-oracleFixed 17 b16Fixed
Related Reports
Relates :  
Description
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/oracle/jdk/open/src/hotspot/share/opto/loopnode.cpp:1810), pid=138754, tid=138772
#  assert(n->in(0) == be) failed: should be on the backedge

Current CompileTask:
C2:    258  273 %     4       MainClass::j @ 48 (198 bytes)

Stack: [0x00007f1655933000,0x00007f1655a34000],  sp=0x00007f1655a2f010,  free space=1008k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x12b1af2]  LoopNode::verify_strip_mined(int) const+0xe82
V  [libjvm.so+0xa02b15]  Compile::final_graph_reshaping_impl(Node*, Final_Reshape_Counts&) [clone .part.0]+0x85
V  [libjvm.so+0xa03288]  Compile::final_graph_reshaping_walk(Node_Stack&, Node*, Final_Reshape_Counts&)+0x198
V  [libjvm.so+0xa04ff1]  Compile::final_graph_reshaping()+0x3d1
V  [libjvm.so+0xa10492]  Compile::Optimize()+0x1982
V  [libjvm.so+0xa11e75]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1905
V  [libjvm.so+0x83cefa]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1ea
V  [libjvm.so+0xa21c91]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xf21
V  [libjvm.so+0xa22938]  CompileBroker::compiler_thread_loop()+0x5a8
V  [libjvm.so+0x183f261]  JavaThread::thread_main_inner()+0x271
V  [libjvm.so+0x1847360]  Thread::call_run()+0x100
V  [libjvm.so+0x1532c06]  thread_native_entry(Thread*)+0x116

Comments
Fix Request (11u) Should get backported for parity with 11.0.12-oracle. Applies cleanly.
19-04-2021

Changeset: d2a63f25 Author: Roland Westrelin <roland@openjdk.org> Date: 2021-03-30 07:58:49 +0000 URL: https://git.openjdk.java.net/jdk/commit/d2a63f25
30-03-2021

ILW = Assert during C2 compilation, reproducible with generated test, disable loop strip mining = HLM = P3
29-03-2021

Roland, could you please have a look?
29-03-2021

Assert was added by JDK-8257575.
29-03-2021