RFR(S): 8028412 - AsyncGetCallTrace() is broken on x86 in JDK7u40
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Wed Nov 27 02:34:14 PST 2013
On 11/27/13 2:32 AM, Markus Gronlund wrote:
>
> Hi Sergei,
>
> I have already worked with Nik on this issue and got his confirmation
> on the fix.
>
Cool!
Thanks,
Serguei
> Thanks
>
> Markus
>
> *From:*Serguei Spitsyn
> *Sent:* den 27 november 2013 11:31
> *To:* Markus Gronlund; hotspot-compiler-dev at openjdk.java.net;
> hotspot-runtime-dev at openjdk.java.net; serviceability-dev
> *Cc:* Oleg Mazurov; Nikolay Molchanov
> *Subject:* Re: RFR(S): 8028412 - AsyncGetCallTrace() is broken on x86
> in JDK7u40
>
> Hi Markus,
>
> The fix looks Ok.
>
> It'd be helpful if Oleg and the Solaris Studio guys could confirm this
> fix works fine for them.
> I've added Oleg and Nik to the CC-list.
> They might request a link to the Solaris or Linux binaries.
>
> Thanks,
> Serguei
>
>
> On 11/27/13 1:47 AM, Markus Gronlund wrote:
>
> Greetings,
>
> Kindly asking for reviews for the following change:
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8028412
>
> Webrev: http://cr.openjdk.java.net/~mgronlun/8028412/webrev01/
> <http://cr.openjdk.java.net/%7Emgronlun/8028412/webrev01/>
>
> Description:
>
> AsynchGetCallTrace() uses platform specific code for stack frame
> traversals.
>
> On x86, there currently exist a defensive construct that
> practically disallows stack traversal over entry_frame code stubs,
> such as StubRoutine(1) frames:
>
> src/cpu/x86/vm/frame_x86.cpp b/src/cpu/x86/vm/frame_x86.cpp:
>
> bool frame::safe_for_sender(JavaThread* thread) {
>
> ...
>
> if (!Interpreter::contains(_pc) && _cb->frame_size() <= 0) {
> //assert(0, "Invalid frame_size");
>
> return false;
> }
>
> ...
>
> Since entry frames (such as StubRoutine(1)) have a frame size of
> 0, the code returns prematurely.
>
> Fix is to move this frame size check post handling of
> is_entry_frame(), where the code_stubs are processed.
>
> Testing completed:
>
> Sun Studio Profiler reproducer testcase
>
> SpecJBB2005
>
> Kitchensink
>
> Thanks
> Markus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20131127/6c6c986f/attachment.html
More information about the serviceability-dev
mailing list