RFR: 8346569: Shenandoah: Worker initializes ShenandoahThreadLocalData twice results in memory leak

Aleksey Shipilev shade at openjdk.org
Mon Jan 6 09:57:35 UTC 2025


On Wed, 18 Dec 2024 14:46:57 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> Worker thread initializes ShenandoahThreadLocalData twice, from Thread's constructor and ShenandoahWorkerThreads::on_create_worker(), that results in leaking ShenandoahEvacuationStats.

This makes sense, thanks. I see that in all other implementations, `BarrierSet` is responsible for creating thread-local data. AFAICS, this only becomes a problem when we run with generational mode that leaks `ShenandoahEvacuationStats`.

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

Marked as reviewed by shade (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22812#pullrequestreview-2531783206


More information about the hotspot-gc-dev mailing list