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

Chen Liang liach at openjdk.org
Thu Feb 12 05:15:53 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.
> 
> The fix is for the JVM to call a method in `WeakReferenceKey` to force this entry to be resolved.

Then I think we should probably patch GenerateJLIClassesHelper to call `MethodType.methodType(void.class)` (or any other method type) twice somewhere. The 2nd call ensures there will be a method type lookup, which covers the missing code path that causes the problem.

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

PR Comment: https://git.openjdk.org/jdk/pull/29678#issuecomment-3888726353


More information about the core-libs-dev mailing list