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

Eric Caspole eric.caspole at oracle.com
Tue Aug 18 01:29:21 UTC 2015


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 
<https://bugs.openjdk.java.net/browse/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 
<https://bugs.openjdk.java.net/browse/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: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150817/3a3d41cb/attachment.htm>


More information about the hotspot-gc-dev mailing list