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

SA-JDI: Method.frameCount(), .frames(), .frames(int,int) return wrong frames num

XMLWordPrintable

    • b53
    • generic
    • generic

        Name: ipR10196 Date: 04/12/2004


        -----------------------------------------------------
        Test : nsk/sajdi/ThreadReference/frames/frames002
                      nsk/sajdi/ThreadReference/frames_ii/frames_ii002
                      nsk/sajdi/ThreadReference/frame/frame002
        VM : ClientVM, ServerVM
        Mode : all
        Platform : generic
        OS : generic
        JDK : 1.5.0-beta2-b46 and earlier
        ------------------------------------------------------

        The following known SA-JDI bug:

          5008126 SA-JDI: ThreadReference.frames() throws RuntimeException

        was not fixed completely. Though RuntimeException with CodeBlob related
        message is not thrown any more, a wrong number of stack frames is
        still returned by frameCount(), frames(), frames(start,length) in
        several VM modes. Here are some examples:

        1) Solaris/sparc,intel, Client, Server, -Xcomp:
           wating thread missed frame for run2() in calls run()->run2()->Object.wait()

            thread #2
              thread name: threadWaiting
              isSuspended: true
              frames count: 3
                frame #0
                  method: wait
                  signature: (J)V
                frame #1
                  method: wait
                  signature: ()V
                frame #2
                  method: run
                  signature: ()V
                  ... found expected frame #0
            # ERROR: ThreadReference.frames() returned not all expected frames:
            # ERROR: thread nom: 2
            # ERROR: thread name: threadWaiting
            # ERROR: frames count: 3
            # ERROR: found frames: 1
            # ERROR: expected: 2
          
        2) Solaris/sparcv9, Server 64-bit, -Xmixed:
           thread entring monitor missed all stack frames in calls run()->run2()

            thread #1
              thread name: threadEntering
              isSuspended: true
              frames count: 0
            # ERROR: ThreadReference.frames() returned too few frames for running threads:
            # ERROR: thread nom: 1
            # ERROR: thread name: threadEntering
            # ERROR: frames count: 0
            # ERROR: expected: 2

        3) Solaris/x86, Server, -Xmixed, -Xcomp:
           running thread missed all stack frames in calls run()->run2()

            thread #0
              thread name: threadRunning
              isSuspended: true
              frames count: 0
            # ERROR: ThreadReference.frames() returned too few frames for running threads:
            # ERROR: thread nom: 0
            # ERROR: thread name: threadRunning
            # ERROR: frames count: 0
            # ERROR: expected: 2

            thread #4
              thread name: threadRunningInterrupted
              isSuspended: true
              frames count: 0
            # ERROR: ThreadReference.frames() returned too few frames for running threads:
            # ERROR: thread nom: 4
            # ERROR: thread name: threadRunningInterrupted
            # ERROR: frames count: 0
            # ERROR: expected: 2

        To reproduce this failure use GammaBase files for 5008126:
          cd /net/jano.sfbay/export/disk20/GammaBase/Bugs/5008126
          sh build.sh $JAVA_HOME
          sh run.sh [-pid | -core | -socket] [-g] [-v] $JAVA_HOME [JAVA_OPTS]
        where:
            -pid - run test with SA-JDI pid attaching connector (default)
            -core - run test with SA-JDI core attaching connector
            -socket - run test with JDI socket attaching connector
            -g - run test with java_g binaries
            -v - run test in verbose mode

        This bug affacts also the following tests:

            nsk/sajdi/StackFrame/getValues/getvalues001
            nsk/sajdi/StackFrame/thisObject/thisobj001
            nsk/sajdi/StackFrame/visibleVariables/visibvars001
            nsk/sajdi/VMCannotBeModifiedException/thrown/thrown003

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

              sundar Sundararajan Athijegannathan
              popovsunw Popov Popov (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: