RFR: 8295809: TreeTableViewSkin: memory leak when changing skin [v2]
Andy Goryachev
angorya at openjdk.org
Tue Dec 6 17:29:40 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 with a new target base due to a merge or a rebase. The pull request now contains 36 commits:
- 8295809: cleanup
- Merge remote-tracking branch 'origin/master' into
8295809.tree.table.view.skin
- 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
8295806.table.view.skin
- Merge branch '8295806.table.view.skin' into 8295809.tree.table.view.skin
- Merge remote-tracking branch 'origin/master' into
8295806.table.view.skin
- 8295809: cleanup
- Merge branch '8295806.table.view.skin' into 8295809.tree.table.view.skin
- Merge remote-tracking branch 'origin/master' into
8295806.table.view.skin
- ... and 26 more: https://git.openjdk.org/jfx/compare/6f36e704...cfa05b79
-------------
Changes: https://git.openjdk.org/jfx/pull/931/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=931&range=01
Stats: 198 lines in 4 files changed: 93 ins; 77 del; 28 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