RFR: 8365792: GenShen: assertion "Generations aren't reconciled"

Xiaolong Peng xpeng at openjdk.org
Thu Sep 18 20:09:00 UTC 2025


On Thu, 18 Sep 2025 19:06:50 GMT, William Kemper <wkemper at openjdk.org> wrote:

> The coalesce-and-fill phase of an old gc cycle may be resumed at any time _without_ running a Shenandoah vm operation. The assertion itself is only meant to run during an operation which changes the active/gc generation. However, the assertion is made in places that may also run concurrently. The original assertion would be enforced if _any_ vm operation were running. For example, the assertions failures in the ticket show Shenandoah concurrently making old regions parsable (this assert should not be enforced) when a heap inspection operation takes a safepoint and (erroneously) causes this assertion to be enforced.

Thanks, it makes sense.

-------------

Marked as reviewed by xpeng (Committer).

PR Review: https://git.openjdk.org/jdk/pull/27373#pullrequestreview-3241881071


More information about the hotspot-gc-dev mailing list