-
Bug
-
Resolution: Fixed
-
P2
-
openjdk8u262, 11, 15
-
b23
-
generic
-
generic
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8247565 | 13.0.4 | Fei Yang | P2 | Resolved | Fixed | b05 |
JDK-8254137 | 11.0.10-oracle | Fei Yang | P2 | Resolved | Fixed | b01 |
JDK-8254120 | 11.0.9.0.1-oracle | Fei Yang | P2 | Resolved | Fixed | b01 |
JDK-8247555 | 11.0.9-oracle | Fei Yang | P2 | Closed | Fixed | b01 |
JDK-8252678 | 11.0.8.0.3-oracle | Fei Yang | P2 | Closed | Fixed | master |
JDK-8244970 | 11.0.8 | Fei Yang | P2 | Resolved | Fixed | b04 |
JDK-8246253 | openjdk8u262 | Fei Yang | P2 | Resolved | Fixed | b05 |
public class TestBeautifyLoops_2 {
private class X {
public int x() {
return -1;
}
}
private int mI = 0;
private float mF = 0;
private boolean mZ = false;
private X mX = new X();
private long[] mArray = new long[331];
private void testMethod() {
double d = 0;
for (int i = 0; i < 331; i++) {
if (mZ) {
continue;
}
try {
for (int j = mArray.length - 1; j >= 0; j--) {
{
for (int k = 0; k < 331; k++) {
d += ((double) new Double(d));
switch (267) {
case 256:
default: {
mF += (mX.x());
break;
}
}
}
}
}
} catch (Exception ignore) {
}
}
}
public static void main(String[] args) {
TestBeautifyLoops_2 obj = new TestBeautifyLoops_2();
obj.testMethod();
}
}
Command line: java -Xcomp -XX:-BackgroundCompilation -XX:CompileCommand=compileonly,TestBeautifyLoops_2::testMethod TestBeautifyLoops_2
JVM crashes on x86-64 linux:
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/loopnode.cpp:2258
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/yangfei/openjdk-jdk/src/hotspot/share/opto/loopnode.cpp:2258), pid=33823, tid=33837
# assert(_phase->is_dominator(_head, nlpt->_head)) failed: inner head dominated by outer head
#
# JRE version: OpenJDK Runtime Environment (15.0) (slowdebug build 15-internal+0-adhoc.yangfei.openjdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 15-internal+0-adhoc.yangfei.openjdk-jdk, compiled mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xd24378] IdealLoopTree::check_safepts(VectorSet&, Node_List&)+0x2f4
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/yangfei/576/core.33823)
#
# An error report file with more information is saved as:
# /home/yangfei/576/hs_err_pid33823.log
#
# Compiler replay data is saved as:
# /home/yangfei/576/replay_pid33823.log
Call trace:
18 --------------- S U M M A R Y ------------
19
20 Command Line: -Xcomp -XX:-BackgroundCompilation -XX:CompileCommand=compileonly,TestBeautifyLoops_2::testMethod TestBeautifyLoops_2
21
22 Host: ubuntu18, Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz, 48 cores, 377G, Ubuntu 18.04.2 LTS
23 Time: Tue May 5 15:59:46 2020 CST elapsed time: 0.589157 seconds (0d 0h 0m 0s)
24
25 --------------- T H R E A D ---------------
26
27 Current thread (0x00007f9470362000): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=33837, stack(0x00007f93fd03c000,0x00007f93fd13d000)]
28
29
30 Current CompileTask:
31 C2: 589 3 % !b 4 TestBeautifyLoops_2::testMethod @ 38 (121 bytes)
32
33 Stack: [0x00007f93fd03c000,0x00007f93fd13d000], sp=0x00007f93fd1373f0, free space=1004k
34 Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
35 V [libjvm.so+0xd24378] IdealLoopTree::check_safepts(VectorSet&, Node_List&)+0x2f4
36 V [libjvm.so+0xd240cd] IdealLoopTree::check_safepts(VectorSet&, Node_List&)+0x49
37 V [libjvm.so+0xd26fcd] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0x7d9
38 V [libjvm.so+0x6f69a7] PhaseIdealLoop::PhaseIdealLoop(PhaseIterGVN&, LoopOptsMode)+0xb3
39 V [libjvm.so+0x6f6aa2] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x46
40 V [libjvm.so+0x6eae1a] Compile::Optimize()+0x580
41 V [libjvm.so+0x6e4745] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x10e9
42 V [libjvm.so+0x5e2185] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x141
43 V [libjvm.so+0x6fee46] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x7f0
44 V [libjvm.so+0x6fdb61] CompileBroker::compiler_thread_loop()+0x3dd
45 V [libjvm.so+0x114c765] compiler_thread_entry(JavaThread*, Thread*)+0x69
46 V [libjvm.so+0x1147985] JavaThread::thread_main_inner()+0x149
47 V [libjvm.so+0x1147833] JavaThread::run()+0x11f
48 V [libjvm.so+0x1143aa0] Thread::call_run()+0x180
49 V [libjvm.so+0xeb4ac0] thread_native_entry(Thread*)+0x1e4
- backported by
-
JDK-8244970 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Resolved
-
JDK-8246253 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Resolved
-
JDK-8247565 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Resolved
-
JDK-8254120 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Resolved
-
JDK-8254137 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Resolved
-
JDK-8247555 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Closed
-
JDK-8252678 JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
- Closed
- relates to
-
JDK-8240576 JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
- Closed