JDK-8238811 : C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,12,13,14,15
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-02-10
  • Updated: 2020-06-29
  • Resolved: 2020-02-13
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 13 JDK 14 JDK 15
11.0.7Fixed 13.0.4Fixed 14.0.2Fixed 15 b11Fixed
Related Reports
Relates :  
Description
#  Internal Error (open/src/hotspot/share/opto/node.cpp:2126), pid=16800, tid=16843
#  assert(i >= req() || i == 0 || is_Region() || is_Phi()) failed: only regions or phis have null data edges

Current CompileTask:
C2:   1450  626  s    4       java.lang.StringBuffer::append (13 bytes)

Stack: [0x00007f47b1b92000,0x00007f47b1c93000],  sp=0x00007f47b1c8fb20,  free space=1014k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x11f7c43]  Node::verify_edges(Unique_Node_List&)+0x173
V  [libjvm.so+0x11f7d80]  Node::verify_edges(Unique_Node_List&)+0x2b0
V  [libjvm.so+0x11f7d80]  Node::verify_edges(Unique_Node_List&)+0x2b0
V  [libjvm.so+0x11f7d80]  Node::verify_edges(Unique_Node_List&)+0x2b0
V  [libjvm.so+0x85bfa4]  Compile::verify_graph_edges(bool) [clone .part.366]+0x174
V  [libjvm.so+0x874b74]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x16b4

Reproduces with:
$ java -XX:+VerifyGraphEdges -jar dacapo-9.12-bach.jar avrora fop h2 jython luindex lusearch pmd sunflow xalan
Comments
Fix request (13u): The original change applies cleanly, passes tier1,tier2,tier3 tests.
05-06-2020

Fix Request (JDK 14.0.2) The patch fixes a graph verification problem in C2 that might lead to test failures and has already been backported to JDK 11u. The fix is low risk and applies cleanly to JDK 14.0.2. In addition to CI testing through all tiers in JDK 15 and 11u, additional testing will be executed in JDK 14.0.2 before pushing.
06-03-2020

Fix Request (11u) This fixes the corner case in assert that might mask real issues, and it keeps codebases in sync (I see 11.0.8-oracle). New test fails without the product patch, and passes with it. Patched JDK passes tier{1,2,3} suites.
18-02-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/cf6409153216 User: chagedorn Date: 2020-02-13 14:49:40 +0000
13-02-2020