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