A lot of elements kept in UISynchronizer.pendingStartup attribute [message #1572831] |
Mon, 19 January 2015 11:09 |
|
Hi,
After migration from Eclipse 4.3 to Eclipse 4.4.1, I encounter sometimes Out Of Memory error in one test suite (1 out of 3 times).
Analyzing Heap dump I can notice that a lot of memory is consumed by UISynchronizer (Problem suspect 2 and 3 are caused by UISynchronizer too)
/*** planned to insert an image but not found a working Free Hosting site yet...***/
There is a lot of Objects kept in pendingStartup list attribute (almost 2000), mostly of 3 types:
- org.eclipse.ui.plugin.AbstractUIPlugin$1
- org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeCompartmentEditPart$2
- org.eclipse.draw2d.DeferredUpdateManager$UpdateRequest
If I look to the Threads stack I didn't notice any lock which could explain that all these "pendind startup" Runnables are kept in memory. I suppose that it means that all these Runnables were not executed yet.
Which threads/Which objects are responsible to execute all items of this list?
How can I investigate why elements of this list are kept here? (and so not executed yet?)
Thanks for any help on understanding or debugging this issue.
Aurélien Pupier - Red Hat
Senior Software Engineer in Fuse Tooling team
[Updated on: Mon, 19 January 2015 11:15] Report message to a moderator
|
|
|
Re: A lot of elements kept in UISynchronizer.pendingStartup attribute [message #1580464 is a reply to message #1572831] |
Fri, 23 January 2015 14:07 |
|
Hi,
after some investigations:
- all runnables registered before the Workbench creation is stored in pendingStartup list.
- we have some actions in WorkbenWindowAdvisor.preStartup which register sometimes runnables since the Eclipse 4.4 version. Previously it has never happened.
- I try to trigger this actions in postStartup, the issue occurs less often still occurs.
- it seems that the postStartup is after the e3 workbench but before the e4 workbench creation.
How can I be sure to launch my actions after the e4 workbench has been fully created?
Regards,
Aurélien Pupier - Red Hat
Senior Software Engineer in Fuse Tooling team
|
|
|
Powered by
FUDForum. Page generated in 0.02211 seconds