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

JPDA: redefineClass implementation should be permitted to retain methodIDs

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.4.0
    • Component/s: core-svc
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      beta2
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Not verified

      Description

      Current redefine classes specification requires that previous versions of a method (a method that was redefined and now has a new definition) to have single special method ID (OBSOLETE_METHOD_ID) and thus no information about the method is retained except that they are obsolete. An implementation should be allowed to keep the obsolete IDs since they allow reference to these methods (which may still be running).

      ///////////////////////////////////////////////////////////////

      Regression test com/sun/jdi/redefine/RedefineTest.java fails with Merlin build 67 on windows_2000, host qavectra.
       For test hardware config's, see http://sqesvr.eng/st3/jdk1.4/docs/Merlin-hw.html

      #Test Results (version 2)
      #Mon Jun 11 15:11:21 PDT 2001
      #checksum:431b68697133eaff
      #-----testdescription-----
      $file=C:\\regression\\merlin\\jdk1.4Tests\\b67\\com\\sun\\jdi\\redefine\\RedefineTest.java
      $root=C:\\regression\\merlin\\jdk1.4Tests\\b67
      author=Robert Field
      keywords=bug4462989 shell
      library=..
      run=USER_SPECIFIED build TestScaffold VMConnection TargetListener TargetAdapter\r\nUSER_SPECIFIED compile -g RedefineTest.java\r\nUSER_SPECIFIED shell RedefineSetUp.sh\r\nUSER_SPECIFIED main RedefineTest\r\n
      source=RedefineTest.java
      title=Test class redefinition

      #-----environment-----

      #-----testresult-----
      description=file:///C:/regression/merlin/jdk1.4Tests/b67/com/sun/jdi/redefine/RedefineTest.java
      end=Mon Jun 11 15:11:21 PDT 2001
      environment=regtest
      execStatus=Failed. Execution failed: `main' threw exception: java.lang.Exception: RedefineTest: failed
      javatestOS=Windows 2000 5.0 (x86)
      javatestVersion=2.1.5
      script=com.sun.javatest.regtest.RegressionScript
      sections=script_messages build compile shell build main
      start=Mon Jun 11 15:11:08 PDT 2001
      status=Failed. Execution failed: `main' threw exception: java.lang.Exception: RedefineTest: failed
      test=com/sun/jdi/redefine/RedefineTest.java
      work=C:\\results\\regression\\merlin\\b67\\QAVECTRA-Windows_NT-jth13-jdk14b67.06-11.15-01-ALL\\com\\sun\\jdi\\redefine

      #section:script_messages
      ----------messages:(4/223)----------
      JDK under test: (C:/java/jdk14b67)
      java version "1.4.0-beta_refresh"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b67)
      Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b67, mixed mode)

      #section:build
      ----------messages:(3/159)----------
      command: build TargetAdapter
      reason: User specified action: run build TestScaffold VMConnection TargetListener TargetAdapter
      elapsed time (seconds): 0.01
      result: Passed. No need to compile: TargetAdapter.java

      #section:compile
      ----------messages:(3/201)*----------
      command: compile C:\\regression\\merlin\\jdk1.4Tests\\b67\\com\\sun\\jdi\\redefine\\RedefineTest.java
      reason: User specified action: run compile -g RedefineTest.java
      elapsed time (seconds): 2.884
      ----------System.out:(0/0)----------
      ----------System.err:(0/0)----------
      result: Passed. Compilation successful

      #section:shell
      ----------messages:(3/124)----------
      command: shell RedefineSetUp.sh
      reason: User specified action: run shell RedefineSetUp.sh
      elapsed time (seconds): 6.85
      ----------System.out:(5/190)*----------
      TESTSRC=C:
      egression\\merlin\\jdk1.4Tests\u000867TESTJAVA=C:/java/jdk14b67
      TESTCLASSES=C:
      esults
      egression\\merlin\u000867\\QAVECTRA-Windows_NT-jth13-jdk14b67.06-11.15-01-ALLCLASSPATH=
      ----------System.err:(0/0)----------
      result: Passed. Execution successful

      #section:build
      ----------messages:(3/99)----------
      command: build RedefineTest
      reason: Named class compiled on demand
      elapsed time (seconds): 0.0
      result: Passed. No need to compile: RedefineTest.java

      #section:main
      ----------messages:(3/114)----------
      command: main RedefineTest
      reason: User specified action: run main RedefineTest
      elapsed time (seconds): 3.194
      ----------System.out:(6/306)----------
      JVM version:1.4.0-beta_refresh
      JDI version: 1.4
      JVM description: Java Debug Interface (Reference Implementation) version 1.4
      Java Debug Wire Protocol (Reference Implementation) version 1.4
      JVM Debug Interface version 1.1
      JVM version 1.4.0-beta_refresh (Java HotSpot(TM) Client VM, interpreted mode)
      ----------System.err:(30/1715)----------
      run args: [RedefineTarg]
      Test Failure: unexpected exception - com.sun.jdi.VMDisconnectedException
      com.sun.jdi.VMDisconnectedException
      at com.sun.tools.jdi.TargetVM.waitForReply(TargetVM.java:275)
      at com.sun.tools.jdi.VirtualMachineImpl.waitForTargetReply(VirtualMachineImpl.java:870)
      at com.sun.tools.jdi.PacketStream.waitForReply(PacketStream.java:54)
      at com.sun.tools.jdi.JDWP$Method$IsObsolete.waitForReply(JDWP.java:3529)
      at com.sun.tools.jdi.JDWP$Method$IsObsolete.process(JDWP.java:3505)
      at com.sun.tools.jdi.MethodImpl.isObsolete(MethodImpl.java:143)
      at RedefineTest.isObsolete(RedefineTest.java:127)
      at RedefineTest.expectNonObsolete(RedefineTest.java:109)
      at RedefineTest.methodEntered(RedefineTest.java:66)
      at TestScaffold$EventHandler.notifyEvent(TestScaffold.java:160)
      at TestScaffold$EventHandler.run(TestScaffold.java:226)
      at java.lang.Thread.run(Thread.java:579)
      java.lang.Exception: RedefineTest: failed
      at RedefineTest.runTests(RedefineTest.java:223)
      at TestScaffold.startTests(TestScaffold.java:301)
      at RedefineTest.main(RedefineTest.java:54)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:30)
      at sun.reflect.InflatableMethodAccessorImpl.invoke(InflatableMethodAccessorImpl.java:48)
      at java.lang.reflect.Method.invoke(Method.java:306)
      at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
      at java.lang.Thread.run(Thread.java:579)

      JavaTest Message: Test threw exception: java.lang.Exception: RedefineTest: failed
      JavaTest Message: shutting down test

      STATUS:Failed.`main' threw exception: java.lang.Exception: RedefineTest: failed
      result: Failed. Execution failed: `main' threw exception: java.lang.Exception: RedefineTest: failed


      test result: Failed. Execution failed: `main' threw exception: java.lang.Exception: RedefineTest: failed

      al.smith@eng 2001-06-13

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rfield Robert Field
                Reporter:
                rfield Robert Field
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: