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.
Pre-RC2 build (200403291730), JDK1.4.2_03. 1. Set Tools/Options/Editing/TODO Settings/List Limit to 1000. 2. Open the TODO window, select "Selected Folder" and choose a folder with at least 1000 TODOs. 3. Wait until it is scanned. 4. Force GC a few times (using Memory toolbar, preferably). 5. Define a such filter that most of the TODOs are left in the view. 6. Switch enable/disable filter a few times (10). 7. Force GC. 8. More memory is consumed than was in step 4, although it should not be. It seems that the leak is approx. 1MB per 1000TODOs per one enable/disable.
Tried on 200403301730 build, J2sdk1.4.2_04, Linux RH9. Mounted ant-1.5.4 sources (src dir) and performed search on root folder. It returns 107 todos, added filter that rejects 3 items (TODO, @todo, XXX). After 1st scan the memory meter shows 16.7MB one filter enable/disable - 17.2 next enable/disable - 17.6 next 3 enable/disable - 18.6 next 3 enable/disable - 19.5 next 3 enable/disable - 20.4 next 3 enable/disable - 21.1 next 3 enable/disable - 22.1 It gives ~300kB per one enable/disable with 100 todos (I do not know in how many files).
putting into profiler..
There is missing call to TaskNode$1.nodeDestroyed() listener method. This event is distribuded only by setKeys() call that does not occur in this case.
can someone explain how much this affects the user in real world situations?
Created attachment 14228 [details] Proposed patch, explicitly dispatching nodeDestroyed event
fixed in trunk I do not plan backport to release36 until reopened at P1 with justification.
Using trunk continuous build 20040428-1330, JDK1.4.2_04, Linux, it seems that the leak is still here (or was re-introduced).
The bug was probably reintroduced by mi recent cleanup in nodes and properties, which happened while Petr was fixing this. Now fixed in trunk. Checked in tasklist/core/src/org/netbeans/modules/tasklist/core/TaskListNode.java The diff is here: http://tasklist.netbeans.org/source/browse/tasklist/core/src/org/netbeans/modules/tasklist/core/TaskListNode.java.diff?r1=1.6&r2=1.7
Seems OK in 200406271800.