RFR: 8336389: Infinite loop occurs while resolving lookups

John Hendrikx jhendrikx at openjdk.org
Mon Jul 15 13:26:24 UTC 2024


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).

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

Commit messages:
 - Fix loop detection in resolveLookups

Changes: https://git.openjdk.org/jfx/pull/1505/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1505&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8336389
  Stats: 63 lines in 2 files changed: 49 ins; 10 del; 4 mod
  Patch: https://git.openjdk.org/jfx/pull/1505.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1505/head:pull/1505

PR: https://git.openjdk.org/jfx/pull/1505


More information about the openjfx-dev mailing list