Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » Workbench seems to be full of multi-user issues.
Workbench seems to be full of multi-user issues. [message #716274] Tue, 16 August 2011 20:58 Go to next message
Chris Fairhall is currently offline Chris FairhallFriend
Messages: 221
Registered: February 2011
Senior Member
I've been analysing heap dumps to find memory leaks in our Workbench based RAP application.

There are references to old disposed Display objects hanging around because static fields in Workbench classes and UI Forms classes keep references to resources.

In some cases I've got entire dialog instances hanging around because the Window class adds a FontChange listener to the JFace FontRegistry and will only remove it when the close method is called (and the FontRegistry is being kept alive by a disposeExec in the Display which has an Image on a static field in another UIForm/JFace class). Too bad if the session is expired and the dialog is disposed instead of closed.

The MessageManager in UIForms has a static field called standardError that contains an object that keeps a reference to an Image - keeping the images Display object from being GC'd, which also keeps a reference to any object that has added a disposeExec as the array the contains the runnables is not cleared after they have been run.

Has anyone found any way to combat these issues?
Re: Workbench seems to be full of multi-user issues. [message #716909 is a reply to message #716274] Thu, 18 August 2011 18:40 Go to previous message
Ralf Sternberg is currently offline Ralf SternbergFriend
Messages: 1313
Registered: July 2009
Senior Member

Hi Chris,

Unfortunately, I didn't find the time to reproduce your findings yet.
But the issues you describe are very likely bugs.

As the original 3.x workbench code is not multi-user capable, we try to
maintain a copy that is, i.e. has no static references to session-scoped
objects. I know a couple of productive RAP applications based on the
workbench that doesn't have memory leaks, therefore I know that the code
is not "full of" multi-user issues. However, the code base is huge, so
chances are that there are still some hidden statics.

The best way to combat these issues is to report them in our bugzilla
[1], ideally including a patch. If the fixes are obvious, we could
still try to include them in 1.4.1 service release.

Best regards, Ralf


[1] http://eclipse.org/rap/bugs/


On 08/16/2011 10:58 PM, Chris wrote:
> I've been analysing heap dumps to find memory leaks in our Workbench
> based RAP application.
> There are references to old disposed Display objects hanging around
> because static fields in Workbench classes and UI Forms classes keep
> references to resources.
>
> In some cases I've got entire dialog instances hanging around because
> the Window class adds a FontChange listener to the JFace FontRegistry
> and will only remove it when the close method is called (and the
> FontRegistry is being kept alive by a disposeExec in the Display which
> has an Image on a static field in another UIForm/JFace class). Too bad
> if the session is expired and the dialog is disposed instead of closed.
>
> The MessageManager in UIForms has a static field called standardError
> that contains an object that keeps a reference to an Image - keeping the
> images Display object from being GC'd, which also keeps a reference to
> any object that has added a disposeExec as the array the contains the
> runnables is not cleared after they have been run.
>
> Has anyone found any way to combat these issues?


--
Ralf Sternberg

Twitter: @EclipseRAP
Blog: http://eclipsesource.com/blogs/

Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
Previous Topic:build.xml for :pserver:dev.eclipse.org:/cvsroot/rt
Next Topic:game like gui
Goto Forum:
  


Current Time: Fri Apr 26 13:55:26 GMT 2024

Powered by FUDForum. Page generated in 0.06199 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top