RFR: 8341334: CDS: Parallel relocation [v9]

David Holmes dholmes at openjdk.org
Wed Nov 20 10:22:25 UTC 2024


On Wed, 6 Nov 2024 19:09:20 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> > Yes, I like this better too. Tying the thread pool to a utility class life cycle felt awkward.
> 
> Now I remember another reason why I initially hooked `ArchiveWorkers` to CDS lifecycle: we need to gracefully shutdown the pool, otherwise we exit the VM while some threads are still holding the semaphore. That apparently abruptly returns from semaphores, which the remaining code does not like. Fails during MacOS builds and tests then. It can be mitigated by shutting down the pool gracefully at VM exit, like in new commits.

I suspect this relates to crashes we now see ([JDK-8344583](https://bugs.openjdk.org/browse/JDK-8344583))). If the VM terminates early these semaphores are not in a usable state.

This PR completely escaped my notice and I am somewhat taken aback by the introduction of these new threads ! I'm not even sure what they are doing.

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

PR Comment: https://git.openjdk.org/jdk/pull/21302#issuecomment-2488173457


More information about the hotspot-runtime-dev mailing list