-
Bug
-
Resolution: Duplicate
-
P4
-
8
-
generic
-
generic
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 without any options.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/phaseX.cpp:972), pid=63833, tid=0x00007f7a8a6d5700
# assert(false) failed: infinite loop in PhaseIterGVN::optimize
#
# 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 TestRemoveUnreachableCCP
ACTUAL -
190 DecodeN === _ 191 [[ 204 ]] #java/lang/Byte:NotNull:exact * Oop:java/lang/Byte:NotNull:exact * !orig=161 !jvms: Byte::valueOf @ bci:12 TestRemoveUnreachableCCP::test @ bci:24
203 Region === 203 211 212 [[ 203 204 206 ]] !orig=97,164 !jvms: TestRemoveUnreachableCCP::test @ bci:28
162 Phi === 97 161 293 [[ 355 261 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=[309] !jvms: TestRemoveUnreachableCCP::test @ bci:28
244 Phi === 243 230 245 [[ 245 261 355 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=162,[309] !jvms: TestRemoveUnreachableCCP::test @ bci:28
257 Region === 257 256 218 [[ 257 222 258 260 261 ]]
207 IfTrue === 206 [[ 208 ]] #1 !orig=169 !jvms: TestRemoveUnreachableCCP::test @ bci:11
223 IfTrue === 222 [[ 208 268 ]] #1
204 Phi === 203 190 205 [[ 205 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=162,[309] !jvms: TestRemoveUnreachableCCP::test @ bci:28
261 Phi === 257 244 162 [[ 205 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact *
208 CountedLoop === 208 223 207 [[ 205 208 209 210 213 ]] inner stride: 1 post of N180 !orig=[180],[174],[82] !jvms: TestRemoveUnreachableCCP::test @ bci:14
124 ConL === 0 [[ 125 197 237 286 334 337 ]] #long:12
205 Phi === 208 261 204 [[ 204 197 197 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=[85] !jvms: TestRemoveUnreachableCCP::test @ bci:14
3 Start === 3 0 [[ 3 5 6 7 8 9 ]] #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
197 AddP === _ 205 205 124 [[ 196 ]] Oop:java/lang/Byte:exact+12 * !orig=125 !jvms: Byte::byteValue @ bci:1 TestRemoveUnreachableCCP::test @ bci:21
7 Parm === 3 [[ 173 39 76 160 126 336 63 191 196 231 236 280 285 320 323 333 ]] Memory Memory: @BotPTR *+bot, idx=Bot; !orig=[53],[84] !jvms: TestRemoveUnreachableCCP::test @ bci:-1
196 LoadB === _ 7 197 [[ 195 ]] @java/lang/Byte:exact+12 *, name=value, idx=5; #byte !orig=126 !jvms: Byte::byteValue @ bci:1 TestRemoveUnreachableCCP::test @ bci:21
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/phaseX.cpp:972
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/phaseX.cpp:972), pid=85497, tid=0x00007f1218131700
# assert(false) failed: infinite loop in PhaseIterGVN::optimize
#
# 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/TestRemoveUnreachableCCP_09_25_15_31_02/hs_err_pid85497.log
#
# Compiler replay data is saved as:
# /home//repository//toreport/TestRemoveUnreachableCCP_09_25_15_31_02/replay_pid85497.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
public class TestRemoveUnreachableCCP {
static void test() {
Byte x = 1;
for (int i = 0; i < 10000; i++) {
if ((i & 1) == 0) {
x = (byte)x;
}
}
}
public static void main(String[] strArr) {
for (int i = 0; i < 11; i++) {
test();
}
}
}
---------- 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 without any options.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/phaseX.cpp:972), pid=63833, tid=0x00007f7a8a6d5700
# assert(false) failed: infinite loop in PhaseIterGVN::optimize
#
# 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 TestRemoveUnreachableCCP
ACTUAL -
190 DecodeN === _ 191 [[ 204 ]] #java/lang/Byte:NotNull:exact * Oop:java/lang/Byte:NotNull:exact * !orig=161 !jvms: Byte::valueOf @ bci:12 TestRemoveUnreachableCCP::test @ bci:24
203 Region === 203 211 212 [[ 203 204 206 ]] !orig=97,164 !jvms: TestRemoveUnreachableCCP::test @ bci:28
162 Phi === 97 161 293 [[ 355 261 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=[309] !jvms: TestRemoveUnreachableCCP::test @ bci:28
244 Phi === 243 230 245 [[ 245 261 355 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=162,[309] !jvms: TestRemoveUnreachableCCP::test @ bci:28
257 Region === 257 256 218 [[ 257 222 258 260 261 ]]
207 IfTrue === 206 [[ 208 ]] #1 !orig=169 !jvms: TestRemoveUnreachableCCP::test @ bci:11
223 IfTrue === 222 [[ 208 268 ]] #1
204 Phi === 203 190 205 [[ 205 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=162,[309] !jvms: TestRemoveUnreachableCCP::test @ bci:28
261 Phi === 257 244 162 [[ 205 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact *
208 CountedLoop === 208 223 207 [[ 205 208 209 210 213 ]] inner stride: 1 post of N180 !orig=[180],[174],[82] !jvms: TestRemoveUnreachableCCP::test @ bci:14
124 ConL === 0 [[ 125 197 237 286 334 337 ]] #long:12
205 Phi === 208 261 204 [[ 204 197 197 ]] #java/lang/Byte:exact * Oop:java/lang/Byte:exact * !orig=[85] !jvms: TestRemoveUnreachableCCP::test @ bci:14
3 Start === 3 0 [[ 3 5 6 7 8 9 ]] #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
197 AddP === _ 205 205 124 [[ 196 ]] Oop:java/lang/Byte:exact+12 * !orig=125 !jvms: Byte::byteValue @ bci:1 TestRemoveUnreachableCCP::test @ bci:21
7 Parm === 3 [[ 173 39 76 160 126 336 63 191 196 231 236 280 285 320 323 333 ]] Memory Memory: @BotPTR *+bot, idx=Bot; !orig=[53],[84] !jvms: TestRemoveUnreachableCCP::test @ bci:-1
196 LoadB === _ 7 197 [[ 195 ]] @java/lang/Byte:exact+12 *, name=value, idx=5; #byte !orig=126 !jvms: Byte::byteValue @ bci:1 TestRemoveUnreachableCCP::test @ bci:21
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/phaseX.cpp:972
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/data//jdk8u/hotspot/src/share/vm/opto/phaseX.cpp:972), pid=85497, tid=0x00007f1218131700
# assert(false) failed: infinite loop in PhaseIterGVN::optimize
#
# 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/TestRemoveUnreachableCCP_09_25_15_31_02/hs_err_pid85497.log
#
# Compiler replay data is saved as:
# /home//repository//toreport/TestRemoveUnreachableCCP_09_25_15_31_02/replay_pid85497.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
---------- BEGIN SOURCE ----------
public class TestRemoveUnreachableCCP {
static void test() {
Byte x = 1;
for (int i = 0; i < 10000; i++) {
if ((i & 1) == 0) {
x = (byte)x;
}
}
}
public static void main(String[] strArr) {
for (int i = 0; i < 11; i++) {
test();
}
}
}
---------- END SOURCE ----------
FREQUENCY : always
- duplicates
-
JDK-8287217 C2: PhaseCCP: remove not visited nodes, prevent type inconsistency
- Resolved