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

compiler/vectorization/TestAutoVecIntMinMax.java failed with "IRViolationException: There were one or multiple IR rule failures."

XMLWordPrintable

    • b08
    • x86_64
    • linux
    • Verified

      The following test failed in the JDK20 CI:

      compiler/vectorization/TestAutoVecIntMinMax.java

      Here's a snippet from the log file:

      ----------System.err:(107/10880)*----------

      Command Line:
      /opt/mach5/mesos/work_dir/jib-master/install/jdk-20+7-374/linux-x64-debug.jdk/jdk-20/fastdebug/bin/java -DReproduce=true -cp /opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S31292/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7941945e-18a6-4e35-a9d5-3d1dcd3f8b4d/runs/f7d890b6-bce0-4938-8c7b-64a28ac45e13/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_vector_1/classes/5/compiler/vectorization/TestAutoVecIntMinMax.d:/opt/mach5/mesos/work_dir/jib-master/install/jdk-20+7-374/src.full/open/test/hotspot/jtreg/compiler/vectorization:/opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S31292/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7941945e-18a6-4e35-a9d5-3d1dcd3f8b4d/runs/f7d890b6-bce0-4938-8c7b-64a28ac45e13/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_vector_1/classes/5/test/lib:/opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S31292/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7941945e-18a6-4e35-a9d5-3d1dcd3f8b4d/runs/f7d890b6-bce0-4938-8c7b-64a28ac45e13/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_vector_1/classes/5:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/javatest.jar:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/jtreg.jar:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/junit.jar:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/hamcrest.jar:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/testng.jar:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/jcommander.jar:/opt/mach5/mesos/work_dir/jib-master/install/jtreg/6.1/1/bundles/jtreg-6.1+1.zip/jtreg/lib/guice.jar -Djava.library.path=/opt/mach5/mesos/work_dir/jib-master/install/jdk-20+7-374/linux-x64-debug.test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=4.16667 -Djava.io.tmpdir=/opt/mach5/mesos/work_dir/slaves/0c72054a-24ab-4dbb-944f-97f9341a1b96-S31292/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7941945e-18a6-4e35-a9d5-3d1dcd3f8b4d/runs/f7d890b6-bce0-4938-8c7b-64a28ac45e13/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_vector_1/tmp -XX:UseAVX=0 -XX:UseSSE=3 -Dir.framework.server.port=37149 -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:CompileCommand=log,compiler.c2.irTests.TestAutoVecIntMinMax::* -XX:CompileCommand=option,compiler.c2.irTests.TestAutoVecIntMinMax::*,bool,PrintIdeal,true -XX:CompileCommand=option,compiler.c2.irTests.TestAutoVecIntMinMax::*,bool,PrintOptoAssembly,true -XX:-OmitStackTraceInFastThrow -DShouldDoIRVerification=true -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.c2.irTests.TestAutoVecIntMinMax

      One or more @IR rules failed:

      Failed IR Rules (12) of Methods (4)
      -----------------------------------
      1) Method "private static void compiler.c2.irTests.TestAutoVecIntMinMax.testIntMax(int[],int[])" - [Failed IR rules: 3]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(LoadVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(LoadVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 2: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(MaxV.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(MaxV.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 3: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(StoreVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(StoreVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!

      2) Method "private static void compiler.c2.irTests.TestAutoVecIntMinMax.testIntMin(int[],int[])" - [Failed IR rules: 3]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(LoadVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(LoadVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 2: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(MinV.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(MinV.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 3: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(StoreVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(StoreVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!

      3) Method "private static void compiler.c2.irTests.TestAutoVecIntMinMax.testIntStrictMax(int[],int[])" - [Failed IR rules: 3]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(LoadVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(LoadVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 2: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(MaxV.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(MaxV.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 3: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(StoreVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(StoreVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!

      4) Method "private static void compiler.c2.irTests.TestAutoVecIntMinMax.testIntStrictMin(int[],int[])" - [Failed IR rules: 3]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(LoadVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(LoadVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 2: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(MinV.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(MinV.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!
         * @IR rule 3: "@compiler.lib.ir_framework.IR(applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeatureOr={}, applyIfCPUFeature={}, counts={"(\\\\d+(\\\\s){2}(StoreVector.*)+(\\\\s){2}===.*)", " >0 "}, applyIfAnd={}, failOn={}, applyIfOr={}, applyIfNot={})"
           - counts: Graph contains wrong number of nodes:
             * Regex 1: (\\d+(\\s){2}(StoreVector.*)+(\\s){2}===.*)
               - Failed comparison: [found] 0 > 0 [given]
               - No nodes matched!

      >>> Check stdout for compilation output of the failed methods


        #############################################################
         - To only run the failed tests use -DTest, -DExclude,
           and/or -DScenarios.
         - To also get the standard output of the test VM run with
           -DReportStdout=true or for even more fine-grained logging
           use -DVerbose=true.
        #############################################################


      compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.throwIfNoSafepointWhilePrinting(IRMatcher.java:91)
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:82)
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.applyIRRules(IRMatcher.java:54)
      at compiler.lib.ir_framework.driver.irmatching.IRMatcher.<init>(IRMatcher.java:43)
      at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:732)
      at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:701)
      at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:332)
      at compiler.lib.ir_framework.TestFramework.run(TestFramework.java:218)
      at compiler.lib.ir_framework.TestFramework.run(TestFramework.java:207)
      at compiler.c2.irTests.TestAutoVecIntMinMax.main(TestAutoVecIntMinMax.java:60)
      at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
      at java.base/java.lang.reflect.Method.invoke(Method.java:578)
      at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
      at java.base/java.lang.Thread.run(Thread.java:1589)

      JavaTest Message: Test threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException
      JavaTest Message: shutting down test

      result: Failed. Execution failed: `main' threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.

            ngasson Nick Gasson
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: