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

JDI spec: several pending JDI step requests are allowed per one thread

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b10
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description



        Name: egR10015 Date: 04/19/2001



        HS1.3.1-rc2-b22 and HS1.4.0-beta-b60 fail to pass the following test

        nsk/jdi/EventRequestManager/createStepRequest/crstepreq001

        from testbase_nsk on all platforms. The test successfully
        creates several StepRequest objects per one debuggee's thread,
        but should not.

        The JDI spec 1.3 on the method
        com.sun.jdi.request.EventRequestManager.createStepRequest() says:
        ----------------------------------------------------------------------
        "...
        Only one pending step request is allowed per thread.
        ...
        Throws:
        DuplicateRequestException - if there is already a pending
                 step request for the specified thread.
        ..."
        ----------------------------------------------------------------------

        According to the spec the test checks that only one pending JDI step
        request is allowed per thread, i.e. the JDI method createStepRequest()
        properly throws a DuplicateRequestException if there is already
        a pending step request for the specified thread.

        To reproduce the bug run
        sh doit.sh $JAVA_HOME [$JAVA_OPTIONS]

        in
        /net/sqesvr.eng/export/vsn/GammaBase/Bugs/<this bug number>

        ---------- output on Solsparc with with HS1.4.0-beta-b60 -----------
        $ sh doit.sh ~/hotspot/jdk1.4/solsparc
        java version "1.4.0-beta"
        Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b60)
        Java HotSpot(TM) Client VM (build 1.4.0-beta-b60, mixed mode)
        binder> Listening for a pipe connection to port: 7000
        binder> Binding to pipe socket
        binder> Listening to pipe server socket
        binder> VirtualMachineManager: version 1.4
        binder> FindingConnector: default
        binder> LaunchingConnector:
        binder> name: com.sun.jdi.CommandLineLaunch
        binder> description: Launches target using Sun Java VM command line and attaches to it
        binder> transport: dt_socket
        binder> Connector arguments:
        binder> home=/export/ld54/java/dest/jdk1.4.0beta-b60/solsparc
        binder> vmexec=java
        binder> options= -classpath ".:share/classes:/home/eug/hotspot/jdk1.4/solsparc/lib/tools.jar"
        binder> main=crstepreq001t "-verbose" "-waittime=2"
        binder> quote="
        binder> suspend=true
        binder> Launch debugee
        test.pipe> Waiting for pipe connection
        debugee.err> debugee.pipe> Making pipe connection to socket: localhost:7000

        Creating StepRequest for the debuggee's thread "debuggee_thr"

        1) Trying to create a duplicate StepRequest object
                with size=-1; depth=1 for the debuggee's thread "debuggee_thr"
        # ERROR: TEST CASE #1 FAILED: createStepRequest successfully done
        # ERROR: for a duplicate StepRequest object per the specified thread "debuggee_thr"
        # ERROR: but it should throw DuplicateRequestException

        2) Trying to create a duplicate StepRequest object
                with size=-1; depth=2 for the debuggee's thread "debuggee_thr"
        # ERROR: TEST CASE #2 FAILED: createStepRequest successfully done
        # ERROR: for a duplicate StepRequest object per the specified thread "debuggee_thr"
        # ERROR: but it should throw DuplicateRequestException

        3) Trying to create a duplicate StepRequest object
                with size=-1; depth=3 for the debuggee's thread "debuggee_thr"
        # ERROR: TEST CASE #3 FAILED: createStepRequest successfully done
        # ERROR: for a duplicate StepRequest object per the specified thread "debuggee_thr"
        # ERROR: but it should throw DuplicateRequestException

        4) Trying to create a duplicate StepRequest object
                with size=-2; depth=1 for the debuggee's thread "debuggee_thr"
        # ERROR: TEST CASE #4 FAILED: createStepRequest successfully done
        # ERROR: for a duplicate StepRequest object per the specified thread "debuggee_thr"
        # ERROR: but it should throw DuplicateRequestException

        5) Trying to create a duplicate StepRequest object
                with size=-2; depth=2 for the debuggee's thread "debuggee_thr"
        # ERROR: TEST CASE #5 FAILED: createStepRequest successfully done
        # ERROR: for a duplicate StepRequest object per the specified thread "debuggee_thr"
        # ERROR: but it should throw DuplicateRequestException

        6) Trying to create a duplicate StepRequest object
                with size=-2; depth=3 for the debuggee's thread "debuggee_thr"
        # ERROR: TEST CASE #6 FAILED: createStepRequest successfully done
        # ERROR: for a duplicate StepRequest object per the specified thread "debuggee_thr"
        # ERROR: but it should throw DuplicateRequestException
        test.pipe> Closing pipe socket
        binder> Closing pipe server socket
        exit code = 97
        --------------------------------------------------------------------

        ======================================================================

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                dtitov Daniil Titov (Inactive)
                Reporter:
                eugsunw Eug Eug (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: