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

C2: missing skeleton predicates in peeled loop

XMLWordPrintable

    • b26

      Synopsis is provisional, feel free to change it as you see fit.

      The attached fuzzer test fails:

      $ build/linux-x86_64-server-fastdebug/images/jdk/bin/java -cp 0015/ -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressCCP -XX:+StressIGVN -Xcomp -XX:CompileOnly=Test -XX:-TieredCompilation -XX:StressSeed=95886967 Test

      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/gcm.cpp:276), pid=1065282, tid=1065295
      # assert(false) failed: unscheduable graph
      #
      # JRE version: OpenJDK Runtime Environment (19.0) (fastdebug build 19-internal-adhoc.shade.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 19-internal-adhoc.shade.jdk, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xdce852] assert_dom(Block*, Block*, Node*, PhaseCFG const*)+0x1c2

      It is semi-intermittent without StressSeed setting.

      Bisection points to JDK-8230382 as the first bad commit.

      Copied from JDK-8283460 (duplicate bug):
      Reopened as separate bug: JDK-8286638.

      $ build/linux-x86_64-server-fastdebug/images/jdk/bin/java -cp 0029/ -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN -Xcomp -XX:CompileOnly=Test -XX:-TieredCompilation Test
      CompileCommand: compileonly Test.* bool compileonly = true
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/gcm.cpp:766
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/gcm.cpp:766), pid=3733508, tid=3733521
      # assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough
      #
      # JRE version: OpenJDK Runtime Environment (19.0) (fastdebug build 19-internal-adhoc.shade.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 19-internal-adhoc.shade.jdk, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xdd1fe5] PhaseCFG::insert_anti_dependences(Block*, Node*, bool)+0x18a5

      It is somewhat intermittent, and seems to rely on StressIGVN.

        1. Test.java
          9 kB
          Christian Hagedorn
        2. hs_err_pid6767.log
          177 kB
          Christian Hagedorn
        3. hs_err_pid6905.log
          178 kB
          Christian Hagedorn
        4. FuzzerUtils.java
          13 kB
          Christian Hagedorn
        5. Reduced0029.java
          0.4 kB
          Emanuel Peter
        6. Reduced0015.java
          0.5 kB
          Emanuel Peter
        7. ReduceX.java
          0.8 kB
          Emanuel Peter
        8. Test2.java
          12 kB
          Christian Hagedorn
        9. Reduced0015_1.java
          0.6 kB
          Emanuel Peter
        10. Reduced0015_2.java
          1 kB
          Emanuel Peter

            epeter Emanuel Peter
            shade Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: