Integrated: 8377712: ConstantPool of WeakReferenceKey is not deterministic in CDS archive

Ioi Lam iklam at openjdk.org
Thu Feb 19 05:27:16 UTC 2026


On Wed, 11 Feb 2026 20:28:15 GMT, Ioi Lam <iklam at openjdk.org> wrote:

> We are seeing intermittent failures (12 times in Jan 2026) where the CDS archives generated in the JDK build is not deterministic.
> 
> The symptom is that (perhaps due to the peculiarity of hash codes and memory addressing??) the constant pool entry for `ReferenceKey<?>` in the `WeakReferenceKey` class is not resolved when the failure happens. Probably it's due to a particular layout in the hashtable such that we have no collisions so the `WeakReferenceKey::equals()` method is never called.
> 
> The fix is for the JVM to call a method in `WeakReferenceKey` to force this entry to be resolved.

This pull request has now been integrated.

Changeset: 33c9f20b
Author:    Ioi Lam <iklam at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/33c9f20bef05239ee016d980dc69a3d583ce8293
Stats:     42 lines in 4 files changed: 39 ins; 1 del; 2 mod

8377712: ConstantPool of WeakReferenceKey is not deterministic in CDS archive

Reviewed-by: liach, kvn

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

PR: https://git.openjdk.org/jdk/pull/29678


More information about the core-libs-dev mailing list