After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 791970 - AtkWrapper.java memory leak - adding listeners instead of removing them
AtkWrapper.java memory leak - adding listeners instead of removing them
Status: RESOLVED FIXED
Product: java-atk-wrapper
Classification: Applications
Component: general
unspecified
Other Linux
: Normal major
: ---
Assigned To: java-atk-wrapper maintainer(s)
java-atk-wrapper maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2017-12-27 00:25 UTC by Sciss
Modified: 2019-05-29 10:49 UTC
See Also:
GNOME target: ---
GNOME version: 3.21/3.22


Attachments
Debugging session showing the massive build up of event listeners (206.03 KB, image/png)
2017-12-27 00:25 UTC, Sciss
Details

Description Sciss 2017-12-27 00:25:25 UTC
Created attachment 365990 [details]
Debugging session showing the massive build up of event listeners

I have chased down a performance problem with a Scala/Java application that boiled down to table UI's validating many cell renderers which in turn dispatch container events into AtkWrapper. There is a severe bug in the code:

https://github.com/GNOME/java-atk-wrapper/blob/2d362dbcc8df35d8c0d16534f57eeaee055c2b66/wrapper/org/GNOME/Accessibility/AtkWrapper.java.in#L309

This line wrongly _adds_ another listener when a component was removed from a container, instead of _removing_ it. The result is a massive build up of AWT event multi dispatchers, as indicated in the attached screen shot.

Could you please provide information in the meantime how I can deactivate AtkWrapper on my system (Debian Stretch). Thank you.
Comment 1 Jesse Glick 2018-05-24 18:53:21 UTC
Stumbled across this affecting NetBeans: https://issues.apache.org/jira/browse/NETBEANS-861
Comment 2 Samuel Thibault 2019-05-01 22:31:37 UTC
This is fixed by f9faf04a88685d6759c18572988876215332086a ("Fix removing component listener")