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
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?

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:
>> 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