RFR: 8295809: TreeTableViewSkin: memory leak when changing skin [v4]

Andy Goryachev angorya at openjdk.org
Wed Dec 7 17:54:55 UTC 2022


> as determined by SkinMemoryLeakTest (remove line 180) and a leak tester
> https://github.com/andy-goryachev-oracle/Test/blob/main/src/goryachev/apps/LeakTest.java
> 
> caused by:
> - adding and not removing listeners
> - adding and not removing event handlers/filters
> - adding and not removing cell factory
> - holding unnecessary instance in TreeTableViewSkin.treeTableViewSkin // test-only
> 
> NOTES:
> 1. this fix requires JDK-8294809 ListenerHelper and JDK-8295806 TableViewSkin.
> 2. there were more memory leaks in this skin than detected by SkinMemoryLeakTest, probably because of cell factory (?).  A manual test using LeakTest shows that there are no memory leaks after a) replacing skin, b) moving the components to a new window, and c) removing all the components from the window.

Andy Goryachev has updated the pull request incrementally with one additional commit since the last revision:

  8295809: updated tests

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/931/files
  - new: https://git.openjdk.org/jfx/pull/931/files/4f40923a..2a153d9a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=931&range=03
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=931&range=02-03

  Stats: 77 lines in 2 files changed: 16 ins; 55 del; 6 mod
  Patch: https://git.openjdk.org/jfx/pull/931.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/931/head:pull/931

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


More information about the openjfx-dev mailing list