RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Mar 15 15:34:22 PDT 2013
Good.
Vladimir
On 3/15/13 8:06 AM, Morris Meyer wrote:
> Here is the updated webrev Vladimir:
>
> --morris
>
> WEBREV - http://cr.openjdk.java.net/~morris/8008328.02
>
> On 3/14/13 5:16 PM, Vladimir Kozlov wrote:
>> guarantee() (use fatal()) should be under == NULL check to avoid
>> always executing 2 checks (C++ should fold it, but I don't trust it :) ):
>>
>> if (result_adr != NULL) {
>> ...
>> } else {
>> fatal("bad register save location");
>> }
>>
>> Vladimir
>>
>> On 3/14/13 7:36 AM, Morris Meyer wrote:
>>> Folks,
>>>
>>> Thanks for the review. Here is the updated webrev which uses
>>> guarantee() to ensure this problem is caught early, and has updated
>>> variable names per Vladimir's comments.
>>>
>>> --morris
>>>
>>> WEBREV - http://cr.openjdk.java.net/~morris/8008328.02
>>>
>>> On 3/14/13 1:11 AM, Cristina Cifuentes wrote:
>>>> Hi Peter, Morris,
>>>>
>>>> It seems that making the bug report more specific may help (so as not
>>>> to think the bug is a false positive)?
>>>>
>>>> Regards,
>>>> Cristina
>>>>
>>>>
>>>>
>>>> On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote:
>>>>
>>>>> Not an official review, because I forget if I'm still an official
>>>>> reviewer.
>>>>>
>>>>> In what sense is this a "false positive"? (Cc'ing Cristina for the
>>>>> Parfait definition of a false positive, because I don't know who the
>>>>> right Parfait contact is.) The result of map->location() *should
>>>>> not* be null, but if it is, it's better to fail the assert than to
>>>>> segfault, in that it will be easier to track down the error wherever
>>>>> these functions get inlined.
>>>>>
>>>>> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who
>>>>> discovers, after this method returns, that the store *did not*
>>>>> happen? That is, is there a better way of making the announcement of
>>>>> the failure closer to the point of failure? Maybe the answer is that
>>>>> the assert() should be a guarantee()?
>>>>>
>>>>> ... peter
>>>>>
>>>>> Morris Meyer wrote:
>>>>>> Folks,
>>>>>> Could I get a review of this small Parfait false positive? This
>>>>>> has been through JPRT per the JPG workflow.
>>>>>> Thanks much.
>>>>>> --mm
>>>>>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328
>>>>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328
>>>
>
More information about the hotspot-compiler-dev
mailing list