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 - JavaSource.binding memory leak
Summary: JavaSource.binding memory leak
Status: RESOLVED DUPLICATE of bug 100753
Alias: None
Product: java
Classification: Unclassified
Component: Source (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: Jan Lahoda
URL:
Keywords: PERFORMANCE
Depends on:
Blocks: 123530 123003
  Show dependency tree
 
Reported: 2007-12-12 01:38 UTC by Quy Nguyen
Modified: 2007-12-12 22:26 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
NB profiler heapwalker Memory leak (64.84 KB, image/jpeg)
2007-12-12 01:39 UTC, Quy Nguyen
Details

Note You need to log in before you can comment on or make changes to this bug.
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 ***