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

mlvm/indy/func/jvmti/mergeCP_none2indy_a failed with "Original target called!"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 21, 24
    • hotspot
    • x86_64, aarch64
    • linux, windows

      The following test failed in the JDK21 CI:

      vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_none2indy_a/TestDescription.java

      Here's a snippet from the log file:

      ----------System.out:(90/6260)*----------
      - IndyRedefineClass.cpp, 62: Setting redefined class name to vm\\mlvm\\indy\\func\\jvmti\\mergeCP_none2indy_a\\INDIFY_Dummy0
      - IndyRedefineClass.cpp, 56: Setting redefine trigger method name to redefineNow
      - IndyRedefineClass.cpp, 134: Entering redefine tigger method: Lvm/mlvm/indy/func/jvmti/mergeCP_none2indy_a/INDIFY_Dummy0;.redefineNow
      - IndyRedefineClass.cpp, 142: Redefining class vm\\mlvm\\indy\\func\\jvmti\\mergeCP_none2indy_a\\INDIFY_Dummy0
      # info :: File = ./bin/newclass/vm\\mlvm\\indy\\func\\jvmti\\mergeCP_none2indy_a\\INDIFY_Dummy0.class
      # info **Agent:: opening file ./bin/newclass/vm\\mlvm\\indy\\func\\jvmti\\mergeCP_none2indy_a\\INDIFY_Dummy0.class
      # info file size= 3156
       File red completely
      - IndyRedefineClass.cpp, 96: Enabling single step
      - IndyRedefineClass.cpp, 105: - IndyRedefineClass.cpp, 175: Forcing early return
      Single step event: Ljava/util/concurrent/locks/LockSupport; .unpark :0
      - IndyRedefineClass.cpp, 90: Disabling single step
      #>
      #> WARNING: switching log to verbose mode,
      #> because error is complained
      #>
      Original target called! Object = java.lang.Object@49a0e6c9; string = Original; int = 456
      The rest of methods are from original class
      # ERROR: Test caught an exception:
      # ERROR: java.lang.RuntimeException
      # ERROR: at vm.mlvm.share.Env.throwAsUncheckedException(Env.java:193)
      # ERROR: at vm.mlvm.share.MlvmTestExecutor.runMlvmTest(MlvmTestExecutor.java:350)
      # ERROR: at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:244)
      # ERROR: at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:186)
      # ERROR: at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:157)
      # ERROR: at vm.mlvm.share.MlvmTest.launch(MlvmTest.java:325)
      # ERROR: at vm.mlvm.indy.func.jvmti.share.IndyRedefineTest.main(IndyRedefineTest.java:62)
      # ERROR: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
      # ERROR: at java.base/java.lang.reflect.Method.invoke(Method.java:578)
      # ERROR: at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
      # ERROR: at java.base/java.lang.Thread.run(Thread.java:1623)
      # ERROR: Caused by: java.lang.reflect.InvocationTargetException
      # ERROR: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
      # ERROR: at java.base/java.lang.reflect.Method.invoke(Method.java:578)
      # ERROR: at vm.mlvm.indy.func.jvmti.share.IndyRedefineTest.run(IndyRedefineTest.java:48)
      # ERROR: at vm.mlvm.share.MlvmTestExecutor.runMlvmTestInstance(MlvmTestExecutor.java:382)
      # ERROR: at vm.mlvm.share.MlvmTestExecutor.runMlvmTest(MlvmTestExecutor.java:327)
      # ERROR: ... 9 more
      # ERROR: Caused by: java.lang.RuntimeException: Original invokeTarget() method is executed after redefinition. Test failed.
      # ERROR: at vm.mlvm.indy.func.jvmti.mergeCP_none2indy_a.INDIFY_Dummy0.invokeTarget0(Unknown Source)
      # ERROR: at vm.mlvm.indy.func.jvmti.mergeCP_none2indy_a.INDIFY_Dummy0.invokeTarget(Unknown Source)
      # ERROR: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
      # ERROR: ... 13 more
      The following stacktrace is for failure analysis.
      nsk.share.TestFailure: Test caught an exception: java.lang.RuntimeException
      at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:432)
      at nsk.share.Log.complain(Log.java:403)
      at nsk.share.Log.complain(Log.java:414)
      at vm.mlvm.share.Env.complain(Env.java:172)
      at vm.mlvm.share.MlvmTestExecutor.launch(MlvmTestExecutor.java:246)
      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.indy.func.jvmti.share.IndyRedefineTest.main(IndyRedefineTest.java:62)
      at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
      at java.base/java.lang.reflect.Method.invoke(Method.java:578)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
      at java.base/java.lang.Thread.run(Thread.java:1623)
      ### TRACE 1: TEST FAILED


      The key piece of the error appears to be:

      > Original target called! Object = java.lang.Object@49a0e6c9; string = Original; int = 456
      > The rest of methods are from original class

      which indicates that the wrong method was called after
      a redefine or retransform.

            Unassigned Unassigned
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: