Details
-
Bug
-
Resolution: Duplicate
-
P4
-
8
-
x86_64
-
linux_ubuntu
Description
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 test on JDK8u392 and found that the JVM crashed with -Xcomp.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/node.cpp:109), pid=3150, tid=0x00007f753dd4d700
# assert(node->_last_del == _last) failed: must have deleted the edge just produced
#
# 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 -Xcomp compiler.c2.TestUnreachableRegionDuringCCP
ACTUAL -
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/node.cpp:109
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/node.cpp:109), pid=37364, tid=0x00007f5d5b161700
# assert(node->_last_del == _last) failed: must have deleted the edge just produced
#
# 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
#
# An error report file with more information is saved as:
# /home//repository//toreport/TestUnreachableRegionDuringCCP_09_23_15_00_38/hs_err_pid37364.log
#
# Compiler replay data is saved as:
# /home//repository//toreport/TestUnreachableRegionDuringCCP_09_23_15_00_38/replay_pid37364.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
package compiler.c2;
import jdk.test.lib.Asserts;
public class TestUnreachableRegionDuringCCP {
static int iFld1 = -1;
static int iFld2 = -1;
static int[] iArrFld = new int[100];
public static void test() {
int i = 1;
do {
iArrFld[i] = iFld1;
iFld1 = 42;
for (int j = 1; j < 5; j++) {
if (i != 0) {
return; // Always returns
}
iFld2 += j;
}
} while (++i < 10);
}
public static void main(String[] args) {
test();
Asserts.assertEQ(iFld1, 42);
Asserts.assertEQ(iFld2, -1);
Asserts.assertEQ(iArrFld[1], -1);
}
}
---------- 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 test on JDK8u392 and found that the JVM crashed with -Xcomp.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/node.cpp:109), pid=3150, tid=0x00007f753dd4d700
# assert(node->_last_del == _last) failed: must have deleted the edge just produced
#
# 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 -Xcomp compiler.c2.TestUnreachableRegionDuringCCP
ACTUAL -
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/node.cpp:109
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/node.cpp:109), pid=37364, tid=0x00007f5d5b161700
# assert(node->_last_del == _last) failed: must have deleted the edge just produced
#
# 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
#
# An error report file with more information is saved as:
# /home//repository//toreport/TestUnreachableRegionDuringCCP_09_23_15_00_38/hs_err_pid37364.log
#
# Compiler replay data is saved as:
# /home//repository//toreport/TestUnreachableRegionDuringCCP_09_23_15_00_38/replay_pid37364.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
package compiler.c2;
import jdk.test.lib.Asserts;
public class TestUnreachableRegionDuringCCP {
static int iFld1 = -1;
static int iFld2 = -1;
static int[] iArrFld = new int[100];
public static void test() {
int i = 1;
do {
iArrFld[i] = iFld1;
iFld1 = 42;
for (int j = 1; j < 5; j++) {
if (i != 0) {
return; // Always returns
}
iFld2 += j;
}
} while (++i < 10);
}
public static void main(String[] args) {
test();
Asserts.assertEQ(iFld1, 42);
Asserts.assertEQ(iFld2, -1);
Asserts.assertEQ(iArrFld[1], -1);
}
}
---------- END SOURCE ----------
FREQUENCY : always
Attachments
Issue Links
- duplicates
-
JDK-8210387 C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced"
- Resolved