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. Test2.java
          12 kB
        2. Test.java
          9 kB
        3. ReduceX.java
          0.8 kB
        4. Reduced0029.java
          0.4 kB
        5. Reduced0015.java
          0.5 kB
        6. Reduced0015_2.java
          1 kB
        7. Reduced0015_1.java
          0.6 kB
        8. hs_err_pid6905.log
          178 kB
        9. hs_err_pid6767.log
          177 kB
        10. FuzzerUtils.java
          13 kB
        11. 0029.zip
          43 kB
        12. 0015.zip
          45 kB

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

              Created:
              Updated:
              Resolved: