RFR[14]: 8235751: Assertion when triggering concurrent cycle during shutdown

Kim Barrett kim.barrett at oracle.com
Tue Dec 31 03:01:14 UTC 2019


Please review this change to G1's handling of requests to initiate
concurrent marking.

When such a request is made during shutdown processing, after the cm
thread has been stopped, the request to initiate concurrent marking is
ignored.  This could lead to an assertion failure for user requested
GCs (System.gc and via agent) by a thread that has not yet been
brought to a halt, because the possibility of such a request being
ignored was missed when the assertion was recently added by JDK-8232588.

We now report to the GC-invoking thread when initiation of concurrent
marking has been suppressed because termination of the cm thread has
been requested.  In that case the GC invocation is considered finished.

CR:
https://bugs.openjdk.java.net/browse/JDK-8235751

Webrev:
https://cr.openjdk.java.net/~kbarrett/8235751/open.00/

Testing:
mach5 tier1-5

Locally (linux-x64) reproduced fairly quickly the failure using the
approach described in the CR; after applying the proposed chage,
failed to reproduce.




More information about the hotspot-gc-dev mailing list