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

several JVMTI functions return JVMTI_ERROR_THREAD_NOT_SUSPENDED

XMLWordPrintable

    • b41
    • generic
    • generic
    • Verified



      Name: ipR10196 Date: 08/27/2003


      --------------------------------------
      Test : nsk/jvmti/GetObjectMonitorUsage/objmonusage005
                        nsk/jvmti/NotifyFramePop/nframepop001
                        nsk/jvmti/scenarios/capability/CM01/cm01t011
                        nsk/jvmti/scenarios/sampling/SP02/sp02t003
      VM : ClientVM, ServerVM
      Mode : -Xint, -Xcomp, -Xmixed
      Platform : x86, sparc, sparcv9
      OS : SunOS 5.8, RedHat Linux 8.0, Windows 2000
      JDK : 1.5.0-b14 promoted (JVMTI v71)
                        1.5.0-b15 w/ Hotspot build 20030820101708.rfield.hotspot3-product (JVMTI v0.2.90)
      ----------------------------------------

      These tests exercise the following JVMTI functions
      while the affected thread is not suspended:

          GetObjectMonitorUsage()
          NotifyFramePop()
          GetLocalObject()
          GetFrameLocation()

      The JVMTI specs for these functions do not require
      thread to be suspended, however the functions return
      error code JVMTI_ERROR_THREAD_NOT_SUSPENDED.
      Note that the current EG status says that only
      GetObjectMonitorUsage() is partially implemented
      for suspended thread only.

      This failure is reproduced either with JVMTI v71
      and JVMTI v0.2.90.

      To reproduce the failure for JVMTI v0.2.x:
        cd /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/<this bug number>
        cd <test-subdir>
        sh build.sh $JAVA_HOME [-g]
        sh run.sh $JAVA_HOME [-g] [-v] [JAVA_OPTS]
      where
          -g - run test with java_g binaries
          -v - run test in verbose mode

      Here are tests outputs:
      ====================================================================================
      Run: nsk/jvmti/GetObjectMonitorUsage/objmonusage005
      (GetObjectMonitorUsage) unexpected error: JVMTI_ERROR_THREAD_NOT_SUSPENDED (13)
      Java exit code: 97
      ====================================================================================

      ====================================================================================
      Run: nsk/jvmti/NotifyFramePop/nframepop001
      (GetLocalInt) unexpected error: JVMTI_ERROR_THREAD_NOT_SUSPENDED (13)
      (NotifyFramePop) unexpected error: JVMTI_ERROR_THREAD_NOT_SUSPENDED (13)
      Point 3: thread is not the same as expected
      Point 3: class is not the same as expected
      Point 3: method ID expected: 0x1d1521, actual: 0x0
      Java exit code: 97
      ====================================================================================

      ====================================================================================
      ======Run: nsk/jvmti/scenarios/capability/CM01/cm01t011
      - cm01t011.c, 586: Timeout: 60000 msc
      - cm01t011.c, 598: Testcase #1: check if GetPotentialCapabilities returns the capability
      - cm01t011.c, 608: Testcase #2: add the capability during Onload phase
      - cm01t011.c, 615: Testcase #3: check if GetCapabilities returns the capability
      - cm01t011.c, 626: Testcase #4: relinquish the capability during Onload phase
      - cm01t011.c, 633: Testcase #5: check if GetCapabilities does not return the capability
      - cm01t011.c, 644: Testcase #6: add back the capability and check with GetCapabilities
      Timeout = 60000 msc.
      Testing sync: thread ready
      - cm01t011.c, 65: Prepare: find tested thread
      - cm01t011.c, 85: thread #0 (JVMTI agent thread): ebc50
      - cm01t011.c, 85: thread #1 (Debuggee Thread): ebc54
      - cm01t011.c, 85: thread #2 (Signal Dispatcher): ebc58
      - cm01t011.c, 85: thread #3 (Finalizer): ebc5c
      - cm01t011.c, 85: thread #4 (Reference Handler): ebc60
      - cm01t011.c, 85: thread #5 (main): ebc64
      - cm01t011.c, 536: Testcase #7: check that only correspondent function work but not others
      - cm01t011.c, 124: Checking negative: SuspendThread
      - cm01t011.c, 129: Checking negative: ResumeThread
      - cm01t011.c, 134: Checking negative: SuspendThreadList
      - cm01t011.c, 139: Checking negative: ResumeThreadList
      - cm01t011.c, 170: Checking negative: StopThread
      - cm01t011.c, 175: Checking negative: InterruptThread
      - cm01t011.c, 189: Checking negative: GetOwnedMonitorInfo
      - cm01t011.c, 202: Checking negative: GetCurrentContendedMonitor
      - cm01t011.c, 213: Checking negative: PopFrame
      - cm01t011.c, 253: Checking negative: SetTag
      - cm01t011.c, 258: Checking negative: GetTag
      - cm01t011.c, 263: Checking negative: GetObjectsWithTags
      - cm01t011.c, 270: Checking negative: IterateOverHeap
      - cm01t011.c, 276: Checking negative: IterateOverInstancesOfClass
      - cm01t011.c, 282: Checking negative: IterateOverObjectsReachableFromObject
      - cm01t011.c, 288: Checking negative: IterateOverReachableObjects
      - cm01t011.c, 313: Checking positive: GetLocalVariableTable
      - cm01t011.c, 330: Checking positive: GetLocalObject
      # ERROR: cm01t011.c, 332: NSK_CPP_STUB5(GetLocalObject, jvmti, thread, 1, local_variable_table[i].slot,
      &object_value)
      # jvmti error: code=13, name=JVMTI_ERROR_THREAD_NOT_SUSPENDED
      - cm01t011.c, 403: Checking negative: GetSourceFileName
      - cm01t011.c, 408: Checking negative: GetSourceDebugExtension
      - cm01t011.c, 413: Checking negative: GetLineNumberTable
      - cm01t011.c, 428: Checking negative: RedefineClasses
      - cm01t011.c, 436: Checking negative: IsMethodObsolete
      - cm01t011.c, 449: Checking negative: GetObjectMonitorUsage
      - cm01t011.c, 462: Checking negative: IsFieldSynthetic
      - cm01t011.c, 467: Checking negative: IsMethodSynthetic
      - cm01t011.c, 481: Checking negative: GetBytecodes
      - cm01t011.c, 567: Testcase #8: check if VM exits well with the capability has not been relinquished
      Java exit code: 97
      ==============================================================================

      ====================================================================================
      Run: nsk/jvmti/scenarios/sampling/SP02/sp02t003
      Starting tested threads
      Testing sync: threads ready
      - sp02t003.c, 73: Prepare data
      - sp02t003.c, 134: Find tested threads: 6
      - sp02t003.c, 171: thread #5 (threadRunningNative): 12358c
      - sp02t003.c, 171: thread #4 (threadRunningInterrupted): 123590
      - sp02t003.c, 171: thread #3 (threadSleeping): 123594
      - sp02t003.c, 171: thread #2 (threadWaiting): 123598
      - sp02t003.c, 171: thread #1 (threadEntering): 12359c
      - sp02t003.c, 171: thread #0 (threadRunning): 1235a0
      - sp02t003.c, 196: Find tested methods:
      - sp02t003.c, 211: thread #0 (threadRunning): 11fe9a (testedMethod)
      - sp02t003.c, 211: thread #1 (threadEntering): 11fea9 (testedMethod)
      - sp02t003.c, 211: thread #2 (threadWaiting): 11febb (testedMethod)
      - sp02t003.c, 211: thread #3 (threadSleeping): 11feca (testedMethod)
      - sp02t003.c, 211: thread #4 (threadRunningInterrupted): 11fedb (testedMethod)
      - sp02t003.c, 211: thread #5 (threadRunningNative): 11feea (testedMethod)
      - sp02t003.c, 80: Testcase #1: check stack frames of not suspended threads
      - sp02t003.c, 270: thread #0 (threadRunning):
      - sp02t003.c, 279: frameCount: 2
      - sp02t003.c, 288: stack depth: 2
      - sp02t003.c, 291: common: 2
      - sp02t003.c, 301: 0 frame: method: 11fe9a, location: 36
      # ERROR: sp02t003.c, 305: NSK_CPP_STUB5(GetFrameLocation, jvmti, threadsDesc[i].thread, j, &qMethod,
      &qLocation)
      # jvmti error: code=13, name=JVMTI_ERROR_THREAD_NOT_SUSPENDED
      - sp02t003.c, 301: 1 frame: method: 125589, location: 25
      # ERROR: sp02t003.c, 305: NSK_CPP_STUB5(GetFrameLocation, jvmti, threadsDesc[i].thread, j, &qMethod,
      &qLocation)
      # jvmti error: code=13, name=JVMTI_ERROR_THREAD_NOT_SUSPENDED
      <...>
      Java exit code: 97
      ====================================================================================

      Ivan Popov <###@###.###>

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

      Name: pvR10198 Date: 09/08/2003


      This bug also affects the following test:

        nsk/jvmti/scenarios/sampling/SP06/sp06t003

      Pavel Vyssotski <###@###.###>


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

      NotifyPopFrame removed from the list, it will now require suspension.
      See 4997704.
      ###@###.### 2004-02-20

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

            rfield Robert Field (Inactive)
            popovsunw Popov Popov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: