This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 124042

Summary: Memory leak in refactoring list cell rendrerer
Product: java Reporter: Jaroslav Tulach <jtulach>
Component: RefactoringAssignee: issues@java <issues>
Status: RESOLVED FIXED    
Severity: blocker Keywords: PERFORMANCE, TEST
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Bug Depends on:    
Bug Blocks: 121855    

Description Jaroslav Tulach 2007-12-14 16:59:24 UTC
This memory leak prevents a closed java project from being garbage collected.
 
testGCProjects:
      junit.framework.AssertionFailedError: Checking if all projects are really garbage collected Project:
private static final javax.swing.ListCellRenderer 
org.netbeans.modules.refactoring.java.ui.CopyClassPanel.PROJECT_CELL_RENDERER->
org.netbeans.modules.refactoring.java.ui.MoveClassPanel$ProjectCellRenderer@4a422-parent->
javax.swing.CellRendererPane@1bd3108-parent->
javax.swing.JComboBox@1e7ebab-selectedItemReminder->
org.netbeans.modules.java.j2seproject.J2SEProject@95dfea
Comment 1 Jan Becicka 2007-12-14 17:52:26 UTC
I don't think, that problem is in cell renderer. It holds what it is required to render. Question is who holds the
CopyClassPanel? I assume that all refactoring windows are closed and CopyClassPanel should be released...
Comment 2 Jaroslav Tulach 2007-12-14 20:35:34 UTC
CopyClassPanel has static field that holds on the rest...
Comment 3 Jan Becicka 2007-12-17 10:47:06 UTC
OK. You are right.

Checking in MoveClassPanel.java;
/cvs/refactoring/java/src/org/netbeans/modules/refactoring/java/ui/MoveClassPanel.java,v  <--  MoveClassPanel.java
new revision: 1.8; previous revision: 1.7
done
Checking in CopyClassPanel.java;
/cvs/refactoring/java/src/org/netbeans/modules/refactoring/java/ui/CopyClassPanel.java,v  <--  CopyClassPanel.java
new revision: 1.13; previous revision: 1.12
done