[15] RFR 8238574: Shenandoah: Assertion failure due to missing null check

Zhengyu Gu zgu at redhat.com
Thu Feb 6 18:32:46 UTC 2020



On 2/6/20 12:56 PM, Zhengyu Gu wrote:
> 
> 
> On 2/6/20 12:42 PM, Aleksey Shipilev wrote:
>> On 2/6/20 6:34 PM, Zhengyu Gu wrote:
>>> Please review this small change that adds a null check before calling
>>> keep alive barrier to avoid assertion failure.
>>>
>>> Native barrier may return null for a not null oop, if it is dead.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8238574
>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8238574/webrev.00/
>> The patch looks good.
>>
>> But I have a broader question: are all other paths that use the 
>> returned value from LRB-native safe?
>> E.g. calling from assembler/C1/C2?
> 
> In C1/C2, we just make runtime call to this implementation.

Sorry, jump the gun to fast. I don't think I answered your question :-(

C1/C2's pre-val barriers seem to have null check. Roman, could you confirm?

Thanks,

-Zhengyu

> 
> -Zhengyu
> 
>>
>> Thanks,
>> -Aleksey
>>



More information about the shenandoah-dev mailing list