Review request (XS): JDK-8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation

Tao Mao tao.mao at oracle.com
Mon Mar 11 17:54:15 PDT 2013


Looks good to me, too. As safety check, did you test the change clear on 
any machine you previously were able to reproduce the bug?
Tao

On 3/11/2013 11:35 AM, Jon Masamitsu wrote:
> Looks good.
>
> Jon
>
> On 03/11/13 06:12, Mikael Gerdin wrote:
>> Hi,
>>
>> Please review this small fix for an incorrect assert that can trigger 
>> when we run out of metaspace memory.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~mgerdin/8009282/webrev.0/
>>
>>
>> The reasoning behind this change is that when running with the 
>> command line flags specified in the bug report we call 
>> MetaspaceAux::print_on when we're about to throw an 
>> j.l.OutOfMemoryError. At that point another thread may be successful 
>> in allocating metaspace memory in another class loader or smaller 
>> memory chunks which are available.
>>
>> The assert condition must only hold when the VM is at a safe point 
>> and no other thread may be allocating metaspace memory.
>>
>> Thanks
>> /Mikael



More information about the hotspot-gc-dev mailing list