RFR: 8341334: CDS: Parallel relocation [v9]
Aleksey Shipilev
shade at openjdk.org
Wed Nov 20 13:02:25 UTC 2024
On Wed, 20 Nov 2024 10:19:55 GMT, David Holmes <dholmes 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.
Yup, my last minute changes to make archive workers globally usable backfired: the lifecycle is now messy. Fixing this in https://github.com/openjdk/jdk/pull/22276.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21302#issuecomment-2488523715
More information about the hotspot-runtime-dev
mailing list