RFR(XS): 8214235: assertion in collectedHeap.cpp: attempt to clean empty remainder

Per Liden per.liden at oracle.com
Thu Nov 29 13:30:08 UTC 2018


Hi,

On 11/29/18 12:02 PM, Boris Ulasevich wrote:
> Hi Per,
> 
> On 28.11.2018 17:35, Per Liden wrote:
>> Hi,
>>
>> On 11/28/18 1:39 PM, Boris Ulasevich wrote:
>>> Hi all,
>>>
>>> Please review a simple fix: do not fill remaining tlab memory
>>> when the remainder is empty.
>>
>> Hmm I get the feeling something else is wrong here. Like a misaligned 
>> object or a misaligned object size was allocated in the TLAB.
> 
> Actually assertion check catches the case when top() = end().
> I do not think it is something criminal. May be it is better to
> add check (top() < hard_end()) instead:
> http://cr.openjdk.java.net/~bulasevich/8214235/webrev.00

There's still something fishy here. The TLAB alignment_reserve should 
make sure there's always enough space left for a filler object. Do you 
have a reproducer for this on x86 or does this only happen on Arm?

/Per

> 
>> When you crash here it would be interesting to see what the tlab 
>> start/end/top/etc is and what MinObjAlignement is being used.
> 
> TLAB: start()=0x938b0b28, end()=0x938dcdc8, top()=0x938dcdc8
> MinObjAlignment: 2
> 
>> cheers,
>> Per
>>
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8214235
>>> http://cr.openjdk.java.net/~bulasevich/8214235/webrev.01
>>>
>>> Thanks,
>>> Boris


More information about the hotspot-gc-dev mailing list