RFR: JDK-8133349 - CMS: Assert failed: Ctl pt invariant

Jesper Wilhelmsson jesper.wilhelmsson at oracle.com
Tue Aug 18 11:53:45 UTC 2015


Looks good!
/Jesper



> 18 aug 2015 kl. 03:29 skrev Eric Caspole <eric.caspole at oracle.com>:
> 
> Hi everybody,
> Could I get reviews for this bug 8133349. 
> This is assert is happening because the _survivor_chunk_array size is based on a calculation from ThreadLocalAllocBuffer::min_size(), but during a GC the PLAB::min_size() is used as the lower limit.
> 
> These are different because the TLAB alignment_reserve() == 40 words, but the PLAB AlignmentReserve == 2 words which is from oopDesc::header_size().
> 
> So that means the _survivor_chunk_array is a little bit smaller than will fit all the PLABs that could be allocated during a GC. 
> 
> Before the fix for JDK-8078904, the _survivor_chunk_array was padded by 2x, not sure why, so this situation never caused a problem. With the fix for JDK-8078904, the _survivor_chunk_array is exactly sized to hold the PLABs.
> 
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8133349
> Webrev:
> http://cr.openjdk.java.net/~ecaspole/JDK-8133349/01/webrev/
> 
> Passes JPRT and many  counts of PGC threads in the failing test, which only was exposed in a certain Solaris situation.
> Thanks,
> Eric
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20150818/6b57eb4a/attachment.html>


More information about the hotspot-gc-dev mailing list