-
Bug
-
Resolution: Fixed
-
P2
-
11, 12
-
b27
-
x86_64
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8216340 | 13 | Roland Westrelin | P2 | Resolved | Fixed | b03 |
JDK-8216131 | 12.0.1 | Roland Westrelin | P2 | Resolved | Fixed | master |
JDK-8227585 | 11.0.6-oracle | Roland Westrelin | P2 | Closed | Fixed | b01 |
JDK-8229247 | 11.0.5 | Roland Westrelin | P2 | Resolved | Fixed | b03 |
-----------------
public class Test {
public static void main(String[] args) {
Test issue = new Test();
for (int i = 0; i < 10000; i++) {
issue.test(new int[999]);
}
}
public void test (int[] iaarg) {
int[] iarr = new int[777];
for (int i = 4; i > 0; i--) {
for (int j = 0; j <= i - 1; j++) {
int istep = 2 * j - i + 1;
int iadj = 0;
if (istep < 0) {
iadj = iarr[0-istep] + iaarg[i-1];
} else {
iadj = iarr[istep] + iaarg[i-1];
}
}
}
}
}
-----------------
$ javac Test.java
$ java -XX:CompileOnly=Test.test Test
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/rvraghav/data/build/jdk-jdk/open/src/hotspot/share/opto/loopTransform.cpp:567), pid=5452, tid=5464
# assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
#
# JRE version: Java(TM) SE Runtime Environment (12.0) (slowdebug build 12-internal+0-2018-12-07-1555497.rvraghav.null)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 12-internal+0-2018-12-07-1555497.rvraghav.null, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xe1561c] PhaseIdealLoop::do_peeling(IdealLoopTree*, Node_List&)+0xce
#
<attached hs_err_pid5452.log>
Found this case when working for
(not sure if same root cause / duplicate of
Also can be related to
Failures present with current latest JDK 12 sources build.
(unlike 8211698 case, here reverting just 8193130 fix is NOT solving the failure)
Found minor changes in above test case can cause different type failures for different versions -
.e.g. failures:
- (Original issue handled by
- SIGILL failure (as in
(some failures reproducible even with JDK10b46)
- backported by
-
JDK-8216131 C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
-
- Resolved
-
-
JDK-8216340 C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
-
- Resolved
-
-
JDK-8229247 C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
-
- Resolved
-
-
JDK-8227585 C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
-
- Closed
-
- relates to
-
JDK-8193130 Bad graph when unrolled loop bounds conflicts with range checks
-
- Resolved
-
-
JDK-8211698 Crash in C2 compiled code during execution of double array heavy processing code
-
- Closed
-
-
JDK-8216135 C2 assert(!had_error) failed: bad dominance
-
- Closed
-