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

Thomas Schatzl thomas.schatzl at oracle.com
Tue Aug 18 08:29:34 UTC 2015


Hi Eric,

On Mon, 2015-08-17 at 21:29 -0400, Eric Caspole wrote:
> 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().

Any idea why the TLAB alignment reserve is 40 words? (Just curious).
> 
> 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, looks good. Is it possible to recreate that Solaris test using
a simple JPRT test? Or is this a 100% failure on the existing test?

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list