RFR (XS): 8233792: TestG1ParallelPhases.java fails with phase NonYoungFreeCSet not found (2)

Kim Barrett kim.barrett at oracle.com
Mon Nov 11 19:42:54 UTC 2019


> On Nov 11, 2019, at 10:44 AM, Thomas Schatzl <thomas.schatzl at oracle.com> wrote:
> 
> Hi all,
> 
>  can I have reviews for this small test fix to avoid this test failing sometimes?
> 
> The tests tries to force mixed gcs to wait for a particular JFR event only sent at that time.
> The way it forces those is a bit wrong: in some cases it may happen that at the time it starts a concurrent marking, another one just finished without being able to clean out the old gen. This means that the initial mark for this forced marking will be upgraded to a full gc (which also ends that marking), and the following forced young collections are young-only gcs only.
> 
> In total, no mixed gcs happen in that case, and so that JFR event is never sent.
> 
> The fix is to make sure that before forcing mixed gc (which works) we force the heap into a state where the upgrade to full gc may not happen - by forcing a full gc.
> 
> Without the patch the fails like 6 times in 4000 runs, with the change it does not fail after 3k runs.
> 
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8233792
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8233792/webrev/
> Testing:
> see above.
> 
> Thanks,
>  Thomas

Looks good.




More information about the hotspot-gc-dev mailing list