On Wed, 7 Aug 2024 19:26:59 GMT, Roger Riggs <rri...@openjdk.org> wrote:

> The original test fails intermittently, the reproducer failed consistently.
> With the fix, the failure was not observed in the test or reproducer.
> 
> In jdk.internal.util.ReferencedKeyMap.entrySet() and toString() methods, 
> avoid removing stale references that would modify the keyset while it is 
> being iterated over. 
> If GC removes the key, iterating or streaming over the keyset might get a 
> ConcurrentModificationException.

The proposed changes look reasonable to me. Those seem to be the only methods 
where removeStaleReferences() could have been indirectly called while looping 
over the entries.

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

Marked as reviewed by dfuchs (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20499#pullrequestreview-2227972196

Reply via email to