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

RISC-V: C2: assert(false) failed: bad AD file due to missing match rule

    XMLWordPrintable

Details

    • b09
    • riscv
    • linux

    Backports

      Description

        https://bugs.openjdk.org/browse/JDK-8293841 added support for Foreign Function & Memory API on RISC-V.

        Run following foreign jtreg test with fastdebug build on linux-riscv64 platform (issue is not reproducible with release build):

        $ make run-test-only TEST="./test/jdk/java/foreign/TestSpliterator.java" TEST_VM_OPTS="-XX:-TieredCompilation" JTREG="TIMEOUT_FACTOR=24"

        ```
        STDOUT:
        test TestSpliterator.testBadSpliteratorElementSizeNotMultiple(): success
        test TestSpliterator.testBadSpliteratorElementSizeTooBig(): success
        test TestSpliterator.testBadSpliteratorElementSizeZero(): success
        test TestSpliterator.testBadStreamElementSizeNotMultiple(): success
        test TestSpliterator.testBadStreamElementSizeTooBig(): success
        test TestSpliterator.testBadStreamElementSizeZero(): success
        test TestSpliterator.testHyperAligned(): success
        test TestSpliterator.testSpliteratorElementSizeMultipleButNotPowerOfTwo(): success
        test TestSpliterator.testStreamElementSizeMultipleButNotPowerOfTwo(): success
        test TestSpliterator.testSum(10, 1): success
        test TestSpliterator.testSum(100, 1): success
        test TestSpliterator.testSum(1000, 1): success
        test TestSpliterator.testSum(10000, 1): success
        test TestSpliterator.testSum(10, 10): success
        test TestSpliterator.testSum(100, 10): success
        test TestSpliterator.testSum(1000, 10): success
        test TestSpliterator.testSum(10000, 10): success
        test TestSpliterator.testSum(10, 100): success
        test TestSpliterator.testSum(100, 100): success
        test TestSpliterator.testSum(1000, 100): success
        test TestSpliterator.testSum(10000, 100): success
        test TestSpliterator.testSum(10, 1000): success
        test TestSpliterator.testSum(100, 1000): success
        test TestSpliterator.testSum(1000, 1000): success
        test TestSpliterator.testSum(10000, 1000): success
        test TestSpliterator.testSum(10, 10000): success
        test TestSpliterator.testSum(100, 10000): success
        test TestSpliterator.testSum(1000, 10000): success
        test TestSpliterator.testSum(10000, 10000): success
        o1206 CMoveL === _ o2270 o2271 [[ o2277 o1219 o1222 o1224 162 ]] #long:minint..maxint:www

        --N: o1206 CMoveL === _ o2270 o2271 [[ o2277 o1219 o1222 o1224 162 ]] #long:minint..maxint:www

           --N: o2270 Binary === _ o1205 o1361 [[ o1206 ]]
           _Binary_cmpOp__CmpI_iRegI_iRegI 101 _Binary_cmpOp__CmpI_iRegI_iRegI

              --N: o1205 Bool === _ o1361 [[ o2270 ]] [lt]
              CMPOP 1 CMPOP
              CMPOPU 1 CMPOPU
              CMPOPULTGE 0 CMPOPULTGE

              --N: o1361 CmpI === _ o1173 o21 [[ o1205 o2270 ]]
              _CmpI_iRegI_iRegI 100 _CmpI_iRegI_iRegI
              _CmpI_iRegI_immI0 0 _CmpI_iRegI_immI0

                 --N: o1173 Phi === o1172 o42 o1319 [[ o1176 o1175 o1191 o1274 o1195 o395 o1361 o1286 o599 o1559 o1590 ]] #int
                 IREGI 0 IREGI
                 IREGINOSP 0 IREGINOSP
                 IREGI_R10 0 IREGI_R10
                 IREGI_R12 0 IREGI_R12
                 IREGI_R13 0 IREGI_R13
                 IREGI_R14 0 IREGI_R14
                 IREGIHEAPBASE 0 IREGIHEAPBASE
                 IREGIORL2I 0 IREGI
                 IREGIORL 0 IREGI
                 IREGILNP 0 IREGI
                 IREGILNPNOSP 0 IREGINOSP

                 --N: o21 ConI === o0 [[ o1074 o1361 o2261 o2279 ]] #int:0
                 IMMI 0 IMMI
                 IMMI0 0 IMMI0
                 IMMI_LE_4 0 IMMI_LE_4
                 IMMIADD 0 IMMIADD
                 IMMISUB 0 IMMISUB
                 IMMI5 0 IMMI5
                 IMMIOFFSET 0 IMMIOFFSET
                 IREGI 100 loadConI
                 IREGINOSP 100 loadConI
                 IREGI_R10 100 loadConI
                 IREGI_R12 100 loadConI
                 IREGI_R13 100 loadConI
                 IREGI_R14 100 loadConI
                 IREGIORL2I 100 IREGI
                 IREGIORL 100 IREGI
                 IREGILNP 100 IREGI
                 IREGILNPNOSP 100 IREGINOSP
                 IMMIORL 0 IMMI

           --N: o2271 Binary === _ o1195 o41 [[ o1206 ]]
           _Binary_iRegL_iRegL 100 _Binary_iRegL_iRegL
           _Binary_iRegLNoSp_iRegL 101 _Binary_iRegLNoSp_iRegL

              --N: o1195 ConvI2L === _ o1173 [[ o1360 o1362 o1224 o1209 o2271 o395 o395 o395 ]] #long:minint..maxint
              IREGL 0 IREGL
              IREGLNOSP 1 IREGLNOSP
              IREGL_R28 0 IREGL_R28
              IREGL_R29 0 IREGL_R29
              IREGL_R30 0 IREGL_R30
              IREGL_R10 0 IREGL_R10
              IREGIORL 0 IREGL
              IREGILNP 0 IREGL
              IREGILNPNOSP 1 IREGLNOSP

              --N: o41 ConL === o0 [[ o395 o1056 o578 o395 o2259 o1236 o2271 ]] #long:0
              IMML5 0 IMML5
              IMML 0 IMML
              IMML0 0 IMML0
              IMMLADD 0 IMMLADD
              IMMLSUB 0 IMMLSUB
              IMMLOFFSET 0 IMMLOFFSET
              IREGL 100 loadConL
              IREGLNOSP 100 loadConL
              IREGL_R28 100 loadConL
              IREGL_R29 100 loadConL
              IREGL_R30 100 loadConL
              IREGL_R10 100 loadConL
              IREGIORL 100 IREGL
              IREGILNP 100 IREGL
              IREGILNPNOSP 100 IREGLNOSP
              IMMIORL 0 IMML

        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/matcher.cpp:1709
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/fyang/openjdk-jdk/src/hotspot/share/opto/matcher.cpp:1709), pid=1774058, tid=1774086
        # assert(false) failed: bad AD file
        #
        # JRE version: OpenJDK Runtime Environment (21.0) (fastdebug build 21-internal-adhoc.fyang.openjdk-jdk)
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 21-internal-adhoc.fyang.openjdk-jdk, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-riscv64)
        # Problematic frame:
        # V [libjvm.so+0x10210c4] Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0x3d0
        #
        # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /home/fyang/openjdk-jdk/build/linux-riscv64-server-fastdebug/test-support/jtreg_test_jdk_jdk_foreign/scratch/1/core.1774058)
        #
        # An error report file with more information is saved as:
        # /home/fyang/openjdk-jdk/build/linux-riscv64-server-fastdebug/test-support/jtreg_test_jdk_jdk_foreign/scratch/1/hs_err_pid1774058.log
        test TestSpliterator.testSumSameThread(): success

        ===============================================
        java/foreign/TestSpliterator.java
        Total tests run: 30, Passes: 30, Failures: 0, Skips: 0
        ===============================================
        ```

        Attachments

          Issue Links

            Activity

              People

                fjiang Feilong Jiang
                fyang Fei Yang
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: