JDK-8186125 : "DU iteration must converge quickly" assert in split if with unsafe accesses
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 10
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-08-11
  • Updated: 2019-09-13
  • Resolved: 2017-11-09
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 10
10 b33Fixed
Related Reports
Relates :  
Relates :  
Description
#  Internal Error (/home/roland/hs10/hotspot/src/share/vm/opto/node.cpp:177), pid=20592, tid=20633
#  assert(_refresh_tick < 2*100000) failed: DU iteration must converge quickly

V  [libjvm.so+0x9ff332]  report_vm_error(char const*, int, char const*, char const*, ...)+0x10b
V  [libjvm.so+0x1099bde]  DUIterator::reset(DUIterator const&)+0x1c6
V  [libjvm.so+0x832bec]  DUIterator::operator=(DUIterator const&)+0x40
V  [libjvm.so+0x1209116]  PhaseIdealLoop::do_split_if(Node*)+0x344
V  [libjvm.so+0xf31d67]  PhaseIdealLoop::split_if_with_blocks_post(Node*)+0x835
V  [libjvm.so+0xf328cc]  PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x1c0
V  [libjvm.so+0xf249a5]  PhaseIdealLoop::build_and_optimize(bool, bool)+0xed1
V  [libjvm.so+0x9825e7]  PhaseIdealLoop::PhaseIdealLoop(PhaseIterGVN&, bool, bool)+0xbf
V  [libjvm.so+0x973870]  Compile::Optimize()+0xcca
V  [libjvm.so+0x96c316]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x11f4

Comments
webrev: http://cr.openjdk.java.net/~roland/8186125/webrev.00 According to Roland the problem was found with the lucene test suite.
09-11-2017

prototype fix
11-08-2017

ILW = Assert failure; reproducible test present, regression of 8176506 fix; disable alias analysis or loop unswitching! = MHM = P3 (pririty set same as JDK-8176506)
11-08-2017

Test case
11-08-2017

Caused by change from JDK-8176506
11-08-2017