-
Bug
-
Resolution: Duplicate
-
P4
-
8
-
x86_64
-
linux_ubuntu
ADDITIONAL SYSTEM INFORMATION :
# JRE version: OpenJDK Runtime Environment (8.0_392) (build 1.8.0_392-internal-fastdebug--b00)
# Java VM: OpenJDK 64-Bit Server VM (25.392-b00-fastdebug compiled mode linux-amd64 compressed oops)
A DESCRIPTION OF THE PROBLEM :
I ran a regression testcase on JDK8u392 and found that the JVM crashed without any options.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/loopnode.cpp:3621), pid=32638, tid=0x00007f8fca050700
# assert(false) failed: Bad graph detected in build_loop_late
#
# JRE version: OpenJDK Runtime Environment (8.0_392) (build 1.8.0_392-internal-fastdebug--b00)
# Java VM: OpenJDK 64-Bit Server VM (25.392-b00-fastdebug compiled 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
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java TestLoopPredicateDep
ACTUAL -
Bad graph detected in build_loop_late
n: 494 Bool === _ 493 [[ 479 ]] [lt]
early(n): 184 IfTrue === 175 [[ 421 432 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->in(1): 493 CmpUL === _ 491 492 [[ 494 ]]
early(n->in(1)): 184 IfTrue === 175 [[ 421 432 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->in(1)->in(1): 491 AddL === _ 502 500 [[ 493 ]]
early(n->in(1)->in(1)): 184 IfTrue === 175 [[ 421 432 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->in(1)->in(2): 492 ConvI2L === _ 212 [[ 493 486 ]] #long:0..maxint !orig=[485]
early(n->in(1)->in(2)): 446 IfTrue === 445 [[ 448 210 ]] #1
LCA(n): 477 IfTrue === 476 [[ 479 ]] #1
n->out(0): 479 If === 477 494 [[ 480 481 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->out(0)->out(0): 480 IfTrue === 479 [[ 163 227 232 ]] #1
n->out(0)->out(1): 481 IfFalse === 479 [[ 444 ]] #0
idom[0] 477 IfTrue === 476 [[ 479 ]] #1
idom[1] 476 If === 455 487 [[ 477 478 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[2] 455 IfTrue === 454 [[ 476 323 328 ]] #1
idom[3] 454 If === 452 461 [[ 455 456 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[4] 452 IfTrue === 451 [[ 454 ]] #1
idom[5] 451 If === 449 458 [[ 452 453 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[6] 449 IfTrue === 448 [[ 451 249 254 ]] #1
idom[7] 448 If === 446 237 [[ 449 450 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[8] 446 IfTrue === 445 [[ 448 210 ]] #1
idom[9] 445 If === 150 199 [[ 446 447 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[10] 150 IfTrue === 149 [[ 445 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:41
idom[11] 149 If === 414 148 [[ 150 151 ]] P=0.000012, C=483322.000000 !jvms: TestLoopPredicateDep::getPermutations @ bci:41
idom[12] 414 Loop === 414 113 388 [[ 414 119 423 441 116 149 126 ]] !orig=[114] !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[13] 113 IfTrue === 103 [[ 414 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[14] 103 If === 100 102 [[ 104 113 ]] P=0.999999, C=-1.000000 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[15] 100 IfTrue === 90 [[ 103 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[16] 90 If === 464 89 [[ 91 100 ]] P=0.999999, C=-1.000000 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[17] 464 IfTrue === 463 [[ 90 143 ]] #1
idom[18] 463 If === 54 131 [[ 464 465 ]] P=0.999999, C=-1.000000 !orig=90 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[19] 54 Proj === 53 [[ 463 57 ]] #0 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[20] 53 Initialize === 45 1 56 1 1 52 70 [[ 54 55 ]] !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[21] 45 CatchProj === 44 [[ 53 70 ]] #0@bci -1 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[22] 44 Catch === 41 43 [[ 45 46 ]] !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[23] 41 Proj === 40 [[ 44 ]] #0 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[24] 40 AllocateArray === 5 6 7 8 1 ( 38 23 28 22 10 11 1 1 1 1 1 ) [[ 41 42 43 50 51 52 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) TestLoopPredicateDep::getPermutations @ bci:1 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[25] 5 Parm === 3 [[ 40 ]] Control !jvms: TestLoopPredicateDep::getPermutations @ bci:-1
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/loopnode.cpp:3621
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/loopnode.cpp:3621), pid=79762, tid=0x00007f2de4939700
# assert(false) failed: Bad graph detected in build_loop_late
#
# JRE version: OpenJDK Runtime Environment (8.0_392) (build 1.8.0_392-internal-fastdebug--b00)
# Java VM: OpenJDK 64-Bit Server VM (25.392-b00-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
#
# An error report file with more information is saved as:
# /home//repository//toreport/TestLoopPredicateDep_09_24_13_39_23/hs_err_pid79762.log
#
# Compiler replay data is saved as:
# /home//repository//toreport/TestLoopPredicateDep_09_24_13_39_23/replay_pid79762.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
public class TestLoopPredicateDep {
public static void getPermutations(byte[] inputArray, byte[][] outputArray) {
int[] indexes = new int[]{0, 2};
for (int a = 0; a < a + 16; a++) {
int oneIdx = indexes[0]++;
for (int b = a + 1; b < inputArray.length; b++) {
int twoIdx = indexes[1]++;
outputArray[twoIdx][0] = inputArray[a];
outputArray[twoIdx][1] = inputArray[b];
}
}
}
public static void main(String[] args) {
final byte[] inputArray = new byte[]{0, 1};
final byte[][] outputArray = new byte[3][2];
for (int i = 0; i < 10; ++i) {
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 1000000; i++) {
getPermutations(inputArray, outputArray);
}
}
});
t.setDaemon(true);
t.start();
try {
Thread.sleep(100);
} catch (Exception e) {
}
}
}
}
---------- END SOURCE ----------
FREQUENCY : always
# JRE version: OpenJDK Runtime Environment (8.0_392) (build 1.8.0_392-internal-fastdebug--b00)
# Java VM: OpenJDK 64-Bit Server VM (25.392-b00-fastdebug compiled mode linux-amd64 compressed oops)
A DESCRIPTION OF THE PROBLEM :
I ran a regression testcase on JDK8u392 and found that the JVM crashed without any options.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/loopnode.cpp:3621), pid=32638, tid=0x00007f8fca050700
# assert(false) failed: Bad graph detected in build_loop_late
#
# JRE version: OpenJDK Runtime Environment (8.0_392) (build 1.8.0_392-internal-fastdebug--b00)
# Java VM: OpenJDK 64-Bit Server VM (25.392-b00-fastdebug compiled 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
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java TestLoopPredicateDep
ACTUAL -
Bad graph detected in build_loop_late
n: 494 Bool === _ 493 [[ 479 ]] [lt]
early(n): 184 IfTrue === 175 [[ 421 432 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->in(1): 493 CmpUL === _ 491 492 [[ 494 ]]
early(n->in(1)): 184 IfTrue === 175 [[ 421 432 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->in(1)->in(1): 491 AddL === _ 502 500 [[ 493 ]]
early(n->in(1)->in(1)): 184 IfTrue === 175 [[ 421 432 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->in(1)->in(2): 492 ConvI2L === _ 212 [[ 493 486 ]] #long:0..maxint !orig=[485]
early(n->in(1)->in(2)): 446 IfTrue === 445 [[ 448 210 ]] #1
LCA(n): 477 IfTrue === 476 [[ 479 ]] #1
n->out(0): 479 If === 477 494 [[ 480 481 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
n->out(0)->out(0): 480 IfTrue === 479 [[ 163 227 232 ]] #1
n->out(0)->out(1): 481 IfFalse === 479 [[ 444 ]] #0
idom[0] 477 IfTrue === 476 [[ 479 ]] #1
idom[1] 476 If === 455 487 [[ 477 478 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[2] 455 IfTrue === 454 [[ 476 323 328 ]] #1
idom[3] 454 If === 452 461 [[ 455 456 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[4] 452 IfTrue === 451 [[ 454 ]] #1
idom[5] 451 If === 449 458 [[ 452 453 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[6] 449 IfTrue === 448 [[ 451 249 254 ]] #1
idom[7] 448 If === 446 237 [[ 449 450 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[8] 446 IfTrue === 445 [[ 448 210 ]] #1
idom[9] 445 If === 150 199 [[ 446 447 ]] P=0.999999, C=-1.000000 !orig=163 !jvms: TestLoopPredicateDep::getPermutations @ bci:44
idom[10] 150 IfTrue === 149 [[ 445 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:41
idom[11] 149 If === 414 148 [[ 150 151 ]] P=0.000012, C=483322.000000 !jvms: TestLoopPredicateDep::getPermutations @ bci:41
idom[12] 414 Loop === 414 113 388 [[ 414 119 423 441 116 149 126 ]] !orig=[114] !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[13] 113 IfTrue === 103 [[ 414 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[14] 103 If === 100 102 [[ 104 113 ]] P=0.999999, C=-1.000000 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[15] 100 IfTrue === 90 [[ 103 ]] #1 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[16] 90 If === 464 89 [[ 91 100 ]] P=0.999999, C=-1.000000 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[17] 464 IfTrue === 463 [[ 90 143 ]] #1
idom[18] 463 If === 54 131 [[ 464 465 ]] P=0.999999, C=-1.000000 !orig=90 !jvms: TestLoopPredicateDep::getPermutations @ bci:22
idom[19] 54 Proj === 53 [[ 463 57 ]] #0 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[20] 53 Initialize === 45 1 56 1 1 52 70 [[ 54 55 ]] !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[21] 45 CatchProj === 44 [[ 53 70 ]] #0@bci -1 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[22] 44 Catch === 41 43 [[ 45 46 ]] !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[23] 41 Proj === 40 [[ 44 ]] #0 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[24] 40 AllocateArray === 5 6 7 8 1 ( 38 23 28 22 10 11 1 1 1 1 1 ) [[ 41 42 43 50 51 52 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) TestLoopPredicateDep::getPermutations @ bci:1 !jvms: TestLoopPredicateDep::getPermutations @ bci:1
idom[25] 5 Parm === 3 [[ 40 ]] Control !jvms: TestLoopPredicateDep::getPermutations @ bci:-1
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/loopnode.cpp:3621
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/loopnode.cpp:3621), pid=79762, tid=0x00007f2de4939700
# assert(false) failed: Bad graph detected in build_loop_late
#
# JRE version: OpenJDK Runtime Environment (8.0_392) (build 1.8.0_392-internal-fastdebug--b00)
# Java VM: OpenJDK 64-Bit Server VM (25.392-b00-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
#
# An error report file with more information is saved as:
# /home//repository//toreport/TestLoopPredicateDep_09_24_13_39_23/hs_err_pid79762.log
#
# Compiler replay data is saved as:
# /home//repository//toreport/TestLoopPredicateDep_09_24_13_39_23/replay_pid79762.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
public class TestLoopPredicateDep {
public static void getPermutations(byte[] inputArray, byte[][] outputArray) {
int[] indexes = new int[]{0, 2};
for (int a = 0; a < a + 16; a++) {
int oneIdx = indexes[0]++;
for (int b = a + 1; b < inputArray.length; b++) {
int twoIdx = indexes[1]++;
outputArray[twoIdx][0] = inputArray[a];
outputArray[twoIdx][1] = inputArray[b];
}
}
}
public static void main(String[] args) {
final byte[] inputArray = new byte[]{0, 1};
final byte[][] outputArray = new byte[3][2];
for (int i = 0; i < 10; ++i) {
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 1000000; i++) {
getPermutations(inputArray, outputArray);
}
}
});
t.setDaemon(true);
t.start();
try {
Thread.sleep(100);
} catch (Exception e) {
}
}
}
}
---------- END SOURCE ----------
FREQUENCY : always
- duplicates
-
JDK-8272574 C2: assert(false) failed: Bad graph detected in build_loop_late
-
- Closed
-