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

vmTestbase/vm/mlvm/mixed/stress/regression/b6969574/INDIFY_Test.java failed with "MH.invokeExact() invocation time order (173.3 ns) is greater than of invokedynamic instruction(15.5 ns)!"

XMLWordPrintable

    • x86_64
    • windows

      The following test failed in the JDK17 CI:

      vmTestbase/vm/mlvm/mixed/stress/regression/b6969574/INDIFY_Test.java

      Here's a snippet from the log file:

      ======== Conclusions
      ### TRACE 1: Comparing invocation time orders
      ### TRACE 1: invokedynamic instruction <= Reflection API Method.invoke(): Good.
      ### TRACE 1: MH.invokeExact() <= Direct call: Good.
      ### TRACE 1: MH.invoke() <= Direct call: Good.
      #>
      #> WARNING: switching log to verbose mode,
      #> because error is complained
      #>
      # ERROR: Test marked failed at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.verifyTimeOrder(INDIFY_Test.java:296):
      # ERROR: MH.invokeExact() invocation time order (173.3 ns) is greater than of invokedynamic instruction(15.5 ns)!
      The following stacktrace is for failure analysis.
      nsk.share.TestFailure: Test marked failed at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.verifyTimeOrder(INDIFY_Test.java:296): MH.invokeExact() invocation time order (173.3 ns) is greater than of invokedynamic instruction(15.5 ns)!
      at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:432)
      at nsk.share.Log.complain(Log.java:403)
      at nsk.share.Log.complain(Log.java:416)
      at vm.mlvm.share.Env.complain(Env.java:172)
      at vm.mlvm.share.MlvmTest.markTestFailedImpl(MlvmTest.java:265)
      at vm.mlvm.share.MlvmTest.markTestFailed(MlvmTest.java:247)
      at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.verifyTimeOrder(INDIFY_Test.java:296)
      at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.run(INDIFY_Test.java:402)
      at vm.mlvm.share.MlvmTestExecutor.runMlvmTestInstance(MlvmTestExecutor.java:382)
      at vm.mlvm.share.MlvmTestExecutor.runMlvmTest(MlvmTestExecutor.java:327)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:244)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:186)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:157)
      at vm.mlvm.share.MlvmTest.launch(MlvmTest.java:325)
      at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.main(INDIFY_Test.java:424)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
      at java.base/java.lang.Thread.run(Thread.java:831)
      ### TRACE 1: MH.invokeExact() <= invokedynamic instruction: Good.
      # ERROR: Failed runs: 1 of 1
      The following stacktrace is for failure analysis.
      nsk.share.TestFailure: Failed runs: 1 of 1
      at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:432)
      at nsk.share.Log.complain(Log.java:403)
      at vm.mlvm.share.Env.complain(Env.java:164)
      at vm.mlvm.share.MlvmTestExecutor.runMlvmTestInstance(MlvmTestExecutor.java:408)
      at vm.mlvm.share.MlvmTestExecutor.runMlvmTest(MlvmTestExecutor.java:327)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:244)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:186)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:157)
      at vm.mlvm.share.MlvmTest.launch(MlvmTest.java:325)
      at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.main(INDIFY_Test.java:424)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
      at java.base/java.lang.Thread.run(Thread.java:831)
      ### TRACE 1: TEST FAILED


      #>
      #> SUMMARY: Following errors occured
      #> during test execution:
      #>
      # ERROR: Test marked failed at vm.mlvm.mixed.stress.regression.b6969574.INDIFY_Test.verifyTimeOrder(INDIFY_Test.java:296):
      # ERROR: MH.invokeExact() invocation time order (173.3 ns) is greater than of invokedynamic instruction(15.5 ns)!
      # ERROR: Failed runs: 1 of 1
      ----------System.err:(0/0)----------
      ----------rerun:(49/6918)*----------

      The failure mode looks very similar to a much older bug:

          JDK-8217800 MH.invokeWithArguments(), exact types invocation time > MH.invokeExact()

            vlivanov Vladimir Ivanov
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: