RFR: 8336389: Infinite loop occurs while resolving lookups [v2]
Michael Strauß
mstrauss at openjdk.org
Mon Jul 15 19:08:57 UTC 2024
On Mon, 15 Jul 2024 13:30:13 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:
>> Fixes an infinite loop that can occur while resolving lookups.
>>
>> There were 2 bugs:
>> - A `contains` check was done on some value X, but then a value Y was added to the set used to track duplicates
>> - The `Set` to track duplicates was cleared in some recursive calls, meaning that the caller (which may be processing multiple values in a loop) would end up with an empty set, losing track of what was visited so far
>>
>> Also removed a redundant `null` check (an NPE would have occurred before it could reach that code).
>
> John Hendrikx has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix formatting and spelling
A new `HashSet` is created for every base call to `resolveLookups`, but it is only used for state tracking. We could re-use the instance for subsequent calls.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1505#issuecomment-2229194479
More information about the openjfx-dev
mailing list