Request for review: 6310967: SA: jstack -m produce failures in output

Poonam Bajaj poonam.bajaj at oracle.com
Tue Jun 12 19:25:34 PDT 2012


Hi David,

On 6/13/2012 7:35 AM, David Holmes wrote:
> Hi Poonam,
>
> It seems to me that rather than passing the ThreadProxy through to 
> f.sender the frame, which has to be a frame of some thread, should 
> already know what that thread is and so be able to access it directly.
>
> In other words: shouldn't each CFrame maintain a reference to the 
> thread it corresponds to?

Yes, it would have made more sense to have a reference of ThreadProxy in 
the Frame classes. But that requires restructuring of lot more code. All 
the Debugger classes (e.g. 
agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java) 
also need to be touched that have the topFrameForThread() where we 
create the first frame for the thread.

This fix was mainly for 6uxx and it didn't seem reasonable to me to 
restructure and touch too many classes for this simple fix.

Thanks,
Poonam

>
> David
>
> On 12/06/2012 11:05 PM, Poonam Bajaj wrote:
>> Hi,
>>
>> Please review this fix for bug 6310967
>> <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6310967>.
>>
>> 6310967 <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6310967>:
>> SA: jstack -m produce failures in output
>>
>> http://cr.openjdk.java.net/~poonam/6310967/webrev.00/
>>
>> Problem: jstack -m fails with UnalignedAddressException.The problem is
>> that while finding the caller frame of a frame in sender() method, we
>> don't check the validity of the frame pointer (rbp / ebp).
>>
>> These changes add a simple check that the frame pointer(rbp) should be a
>> valid pointer on the stack by making sure that it is not less than the
>> stack
>> pointer(rsp).
>>
>>
>> Thanks,
>> Poonam
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20120613/8dde6f4e/attachment-0001.html 


More information about the serviceability-dev mailing list