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:08:02 UTC 2016
Hi, I have another webrev with the name change of
is_entry_frame_valid(), which passes JPRT.
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