-
Bug
-
Resolution: Fixed
-
P3
-
5.0
-
b53
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2173310 | 1.4.2_21 | Poonam Bajaj Parhar | P3 | Resolved | Fixed | b01 |
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
======================================================================
-----------------------------------------------------
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
======================================================================
- backported by
-
JDK-2173310 SA-JDI: Method.frameCount(), .frames(), .frames(int,int) return wrong frames num
- Resolved
- relates to
-
JDK-5008126 SA-JDI: ThreadReference.frames() throws RuntimeException
- Closed
-
JDK-5030139 SA-JDI: frames methods throw AssertionFailure on 64-bit ServerVM
- Closed