JDK-8041351 : Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7u40,8u20,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux,solaris,windows
  • CPU: generic
  • Submitted: 2014-04-21
  • Updated: 2019-09-13
  • Resolved: 2014-04-23
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 7 JDK 8 JDK 9
7u76Fixed 8u20Fixed 9 b12Fixed
Related Reports
Relates :  
Description
jit/misctests/whet fails with Crash during nightly and PIT build test runs with 

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/jprt/T/P1/232014.amurillo/s/src/share/vm/opto/loopnode.cpp:3215), pid=19653, tid=140312480548608
#  assert(!had_error) failed: bad dominance
#
# JRE version: Java(TM) SE Runtime Environment (8.0_20-b10) (build 1.8.0_20-ea-fastdebug-b10)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.20-b12-internal-201404172320.amurillo.hs25-20-b12-set-ve-fastdebug mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#


Comments
ILW=Bad graph will crash product VM, rare, switch off vectorization=HLM=P3
24-04-2014

As you may notice J, K, L are always stay the same 1, 2, 3. As result C2 collapses the loop to: for(I = 1; I <= N6; I++) { J = 1; K = 2; L = 3; E1[2] = 6; E1[1] = 6; } Notice that the array element address stay the same.
22-04-2014

In this case I wonder why P4? The assert found bug which affects 7u, 8u and 9. The regression was introduced with 7119644 changes.
22-04-2014

ILW=Newly added assert fails, always, none=LHH=P4
22-04-2014

The optimized loop which failed: protected double[] E1 = new double[4]; int N6 = 210 * LOOP; // Module 6: Integer arithmetic J = 1; K = 2; L = 3; for(I = 1; I <= N6; I++) { J = J * (K-J) * (L-K); K = L * K - (L-J) * K; L = (L - K) * (K + J); E1[L-1] = J + K + L; E1[K-1] = J * K * L; }
21-04-2014

My try above was on solaris-x86. I ran on scaaa641 and was successful (why it does not work on solaris?). So I have rerun.sh now which I will use. Next time provide rerun.sh script for SCA - ute does not work. Thanks.
21-04-2014

Triggered the assert I added for 8039050.
21-04-2014