RFR 8159284: bigapps/Jetty - assert(jfa->last_Java_sp() > sp()) failed with tracing code in use

Coleen Phillimore coleen.phillimore at oracle.com
Tue Aug 2 22:19:46 UTC 2016



On 8/2/16 6:08 PM, Coleen Phillimore wrote:
>
> Hi, I have another webrev with the name change of 
> is_entry_frame_valid(), which passes JPRT.

http://cr.openjdk.java.net/~coleenp/8159284.02/webrev/index.html

>
> thanks,
> Coleen
>
>
> On 8/2/16 2:28 PM, Frederic Parain wrote:
>>
>>
>> On 08/02/2016 02:22 PM, Coleen Phillimore wrote:
>>>
>>> Fred, Thank you for reviewing this.
>>>
>>> On 8/2/16 2:02 PM, Frederic Parain wrote:
>>>> Coleen,
>>>>
>>>> src/cpu/aarch64/vm/frame_aarch64.cpp
>>>>
>>>>   line 116: return entry_frame_is_safe(thread);
>>>>   line 207: return sender.is_entry_frame_safe(thread);
>>>>
>>>>   Method names are different, is it a typo?
>>>>
>>>
>>> Yes, it is a typo.  Thank you for catching it.
>>>
>>>> src/cpu/sparc/vm/frame_sparc.cpp
>>>>
>>>>   No comments
>>>>
>>>> src/cpu/x86/vm/frame_x86.cpp
>>>>
>>>>   No comments
>>>>
>>>> src/share/vm/runtime/frame.cpp
>>>>
>>>>   No comments
>>>>
>>>> src/share/vm/runtime/frame.hpp
>>>>
>>>>   I would expect the new method name to be is_entry_frame_safe()
>>>>   as most tester methods begin with "is_" but I this is just a
>>>>   personal opinion.
>>>
>>> I named it entry_frame_is_safe() because I thought it looked less
>>> redundant and more distinct in the code fragments where they occurred:
>>>
>>>     // Entry frame checks
>>>     if (is_entry_frame()) {
>>>       // an entry frame must have a valid fp.
>>>
>>>       if (!fp_safe) return false;
>>>
>>>       return entry_frame_is_safe(thread);
>>>     }
>>>
>>> is_entry_frame_safe() looks like is_entry_frame() or implies it's a
>>> "safe" call to is_entry_frame.
>>>
>>> I guess it is the standard to start with 'is' for these sorts of
>>> tests.   How about is_safe_entry_frame() ?
>>
>> Sounds good.
>>
>> Fred
>>
>>> thanks,
>>> Coleen
>>>
>>>>
>>>> Fred
>>>>
>>>> On 08/01/2016 07:38 PM, Coleen Phillimore wrote:
>>>>> Summary: Test condition in assert in frame::safe_for_sender() for 
>>>>> entry
>>>>> frames and return false.
>>>>>
>>>>> This bug is for a confidential part of the project that needs more
>>>>> robustness checks to verify that frame::sender() can be called.
>>>>>
>>>>> Also refactored into frame::entry_frame_is_safe() because these
>>>>> platforms had the same code for entry frames to determine whether 
>>>>> it is
>>>>> still safe to trust this frame to call sender(). These platforms had
>>>>> also the same assert in sender_for_entry_frame() that the sampling 
>>>>> code
>>>>> hit.
>>>>>
>>>>> Tested with our nightly tests on all platforms and bigapps/Jetty.
>>>>>
>>>>> open webrev at http://cr.openjdk.java.net/~coleenp/8159284.01/webrev
>>>>>
>>>>> Thanks,
>>>>> Coleen
>>>>>
>>>
>



More information about the hotspot-dev mailing list