-
Bug
-
Resolution: Fixed
-
P3
-
5.0
-
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
======================================================================
- relates to
-
JDK-4997704 JVMTI Spec: add JVMTI_ERROR_NOT_SUSPENDED to spec for NotifyFramePop
-
- Resolved
-