[jbosside-dev] RE: Memory leak in DroolsIDE

Mark Proctor mark.proctor at jboss.com
Tue Aug 15 03:06:20 EDT 2006


Awesome, thank you - we'll get a JIRA made for that today.

 

________________________________

From: marshall.jboss at gmail.com [mailto:marshall.jboss at gmail.com] On
Behalf Of Marshall Culpepper
Sent: 15 August 2006 01:42
To: jbosside-dev at lists.jboss.org; Kris Verlaenen; Mark Proctor; Michael
Neale
Subject: FW: Memory leak in DroolsIDE

 

FYI Rob Stryker (our JBossAS adapter lead) has found a memory leak in
the DroolsIDE code:

On 8/14/06, Robert Stryker < rob.stryker at jboss.com
<mailto:rob.stryker at jboss.com> > wrote:

Hey Marshall:

  Please forward this over to the rules guy. I found a memory leak in
his code. 

The class RuleHelperActionDelegate ( svn
<http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-ide/src/main
/java/org/drools/ide/menu/RuleHelperActionDelegate.java> )  has a memory
leak. Specifically:

the Delegate itself is responsible for deleting any and all created Menu
widgets. In the current implementation, the getMenu(Control) method is
as follows:

       Menu menu = new Menu( parent );




        final Shell shell = parent.getShell();

        addProjectWizard( menu, shell );

        addRuleWizard( menu,shell );

        addDSLWizard( menu, shell );

        addDTWizard( menu,shell );        





        return menu;


Clearly, new menu widgets are created each time and are never disposed
of. A correct implementation of this interface is available at
org.eclipse.wst.server.ui.internal.webbrowser.SwitchBrowserWorkbenchActi
on . Specifically, the getMenu(Control) method should first dispose of
the last menu, then create the new ones. 

    public Menu getMenu(Control parent) {
        setMenu(new Menu(parent));
        //fillMenu(fMenu); 
        initMenu();
        return fMenu;
    }

    private void setMenu(Menu menu) {
        if (fMenu != null) {
            fMenu.dispose();
        }
        fMenu = menu;
    }


So... ... ... he needs to destroy his menus before creating new ones =] 




-- 
Marshall Culpepper
marshall.culpepper at jboss.com
JBoss Eclipse IDE Lead, JBoss Inc. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20060815/d06e2158/attachment.html 


More information about the jbosstools-dev mailing list