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
