Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8317576

assert(false) failed: infinite loop in PhaseIterGVN::optimize

XMLWordPrintable

    • 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


            thartmann Tobias Hartmann
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: