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 123857

Summary: JavaSource.binding memory leak
Product: java Reporter: Quy Nguyen <quynguyen>
Component: SourceAssignee: Jan Lahoda <jlahoda>
Status: RESOLVED DUPLICATE    
Severity: blocker Keywords: PERFORMANCE
Priority: P2    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Bug Depends on:    
Bug Blocks: 123530, 123003    
Attachments: NB profiler heapwalker Memory leak

Description Quy Nguyen 2007-12-12 01:38:24 UTC
There appears to be a memory leak in the JavaSource.binding field.  This causes the JsfTopComponent from Visual Web to
be retained in memory, causing significant memory leak.  To reproduce:

1) Create the VehicleIncidentReport sample application
2) Open all the pages and switch to jsp view.
3) Close all pages and the project.

Most of the visual web model objects are still referenced due to this leak.
Comment 1 Quy Nguyen 2007-12-12 01:39:21 UTC
Created attachment 54178 [details]
NB profiler heapwalker Memory leak
Comment 2 Quy Nguyen 2007-12-12 01:40:55 UTC
Attached is the GC root for the memory leak.
Comment 3 Jan Lahoda 2007-12-12 22:26:37 UTC
I do not think there is anything wrong with the binding field - it is an instance field on JavaSource (as opposed to
JavaSource.EditorRegistryListener.lastEditor which is a effectively a static field (an instance of ERL is referenced
from a static field of JS). The binding field is necessary for Java parsing as long as the corresponding JavaSource
exists. The main problem here is that the JavaSource instance is not freed, which is likely caused again by issue
#100753 (as no reasonable event comes about closing of the last component, as so the parsing tasks are not unregistered
from the JavaSource, and so the JavaSource cannot be garbage collected.)

*** This issue has been marked as a duplicate of 100753 ***