On Thu, 12 Feb 2026 05:58:15 GMT, Chen Liang <[email protected]> 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.
>
> Or a better fix would be removing the == path for all reference keys. There's 
> no case where this hits because you are always creating a new strong key. 
> Missing use of class constant means the equals method is completely unused.

Thank you @liach @vnkozlov for the review

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

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

Reply via email to