RFR: 8295809: TreeTableViewSkin: memory leak when changing skin
Andy Goryachev
angorya at openjdk.org
Mon Dec 5 17:18:00 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.
-------------
Commit messages:
- Merge remote-tracking branch 'origin/master' into 8295809.tree.table.view.skin
- Merge branch '8295806.table.view.skin' into 8295809.tree.table.view.skin
- Merge remote-tracking branch 'origin/master' into
- Merge branch '8295806.table.view.skin' into 8295809.tree.table.view.skin
- Merge remote-tracking branch 'origin/master' into
- 8295809: cleanup
- Merge branch '8295806.table.view.skin' into 8295809.tree.table.view.skin
- Merge remote-tracking branch 'origin/master' into
- 8295809: temporarily disabled some tests
- 8295809: plugged the leak
- ... and 24 more: https://git.openjdk.org/jfx/compare/bb98d886...e6e96d62
Changes: https://git.openjdk.org/jfx/pull/931/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=931&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8295809
Stats: 197 lines in 4 files changed: 93 ins; 77 del; 27 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