Community
Participate
Working Groups
Build Identifier: e4 is leaking memory on part activation/deactivation Reproducible: Always
Created attachment 173359 [details] Memory profiler screenshot with a before/after comparison Here's a first analysis. Perhaps this already helps.
Created attachment 173361 [details] patch Not sure if this accounts for all leaks - can you test again?
Bogdan, the code in CSSPropertyTabRendererSWTHandler doesn't look right - you are using a single IEclipseContext for all tab folder renderers. At the very least, this probably means that all renderers share attributes like outer-keyline-color, inner-keyline-color, etc.
After the patch, the leaked requestor objects and the TrackableComputationExt-related objects are gone. But, there are still the leaked HashMaps. I will check this with the profiler's "generation count" feature and will find out where these objects are allocated. However, this is the first time I am using this feature, so that it will take some time for me to find through all these many views and actions offered by the profiler.
You may also try Eclipse's own memory analyzer tool, see http://wiki.eclipse.org/index.php/MemoryAnalyzer and www.eclipse.org/mat
Created attachment 173363 [details] Memory profiler screenshot for leaked HashMaps (I just took a power nap of 20 minutes; now I can think again.) Finding the leaked objects with YourKit was a piece of cake. Just two clicks away.
Created attachment 173364 [details] Memory profiler screenshot for leaked HashMaps (allocation stack trace) This view is probably somewhat more useful.
org.eclipse.e4.ui.css.swt.properties.custom.CSSPropertyUnselectedTabsSWTHandler.applyCSSProperty(Control, String, CSSValue, String, CSSEngine) does not look right, either. Oleg, can you help Bogdan with this?
*** This bug has been marked as a duplicate of bug 313950 ***