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.
[nb_36](200403101830), [jdk1.4.2_03] Test case: - run IDE - run GC - mark current instance count - push Tools | Update Center - cancel wizard - run GC - take current instance count Differences after 3 invocations (see attached data from OptimizeIt): +4 : org.netbeans.modules.autoupdate.ServerPanel$1 org.netbeans.modules.autoupdate.ServerPanel org.netbeans.modules.autoupdate.XMLAutoupdateType org.netbeans.modules.autoupdate.ServerPanel$AutoResizeTable org.netbeans.modules.autoupdate.ServerPanel$ServerTableModel +3 org.openide.util.HelpCtx org.openide.WizardDescriptor$WrappedCellRenderer org.openide.WizardDescriptor$ImagedPanel org.openide.WizardDescriptor$WizardPanel org.openide.WizardDescriptor$PropL org.netbeans.modules.autoupdate.Wizard$LastPanel org.netbeans.modules.autoupdate.Wizard$StartPanel org.netbeans.modules.autoupdate.Wizard$2 org.netbeans.modules.autoupdate.Wizard$3 org.netbeans.modules.autoupdate.Wizard$DownloadPanel org.netbeans.modules.autoupdate.FirstPanel$2 org.netbeans.modules.autoupdate.FirstPanel$3 org.netbeans.modules.autoupdate.Wizard$1 org.netbeans.modules.autoupdate.Wizard org.netbeans.modules.autoupdate.Wizard$ConfigPanel org.netbeans.modules.autoupdate.FirstPanel$1 org.netbeans.modules.autoupdate.Wizard$SelectPanel org.netbeans.modules.autoupdate.Wizard$PropPanel org.openide.WizardDescriptor$3 org.openide.WizardDescriptor org.openide.WizardDescriptor$Listener
Created attachment 13949 [details] Exported data from Optimize It after 3 invocations | cancel of Update Center Wizard - after each closing GC runs 5 times
not a showstopper, the Update Center dialog is not invoked repeatedly in one IDE run. Target -> PromoD
Not urgent for 3.6. -> P3
Checking in Wizard.java; /cvs/autoupdate/src/org/netbeans/modules/autoupdate/Wizard.java,v <-- Wizard.java new revision: 1.68; previous revision: 1.67 done Checking in ServerPanel.java; /cvs/autoupdate/src/org/netbeans/modules/autoupdate/ServerPanel.java,v <-- ServerPanel.java new revision: 1.14; previous revision: 1.13 done Checking in UpdatePanel.java; /cvs/autoupdate/src/org/netbeans/modules/autoupdate/UpdatePanel.java,v <-- UpdatePanel.java new revision: 1.100; previous revision: 1.99 done
Checking in WizardDescriptor.java; /cvs/openide/src/org/openide/WizardDescriptor.java,v <-- WizardDescriptor.javanew revision: 1.99; previous revision: 1.98 done The AU wizard's UI components can still be held temporarily in memory after the wizard is closed. This can be caused either by NodeRenderer's static sharedInstance -> .. -> HtmlRendererImpl (this is eliminated next time a renderer is used), or via last key pressed (a static field of a keyboard manager, I don't remember the classname now) which references a UI component via its source field (this is eliminated next time a key is pressed). :o) Closing as fixed.
The latter case is fixed AFAIK: core/windows/src/org/netbeans/core/windows/ShortcutAndMenuKeyEventProcessor.java revision 1.6 date: 2004/05/07 16:13:40; author: pkuzel; state: Exp; lines: +10 -5 This small cache was able to reference several MBs of data, until user pressed next monitored key. Isn't the former one bigger problem that should be fixed in HtmlRendererImpl? I don't like solution with too many weak listeners that are usualy workarounds if we are not able to find better solution.
I like the weak listeners. They are clean and they work. And if there are just several instances used at a moment, I don't see a problem with them. If they were created in a huge amount for a very short lifetime, I'd agree that they would be too much overhead. But I don't see this issue here. Anyway, feel free to provide a different solution if you like. The issue with HtmlRendererImpl should be solved. (It is not solved by the changes integrated here.) But IMO it does not prevent this bug from being closed. AU wizard is not increasingly leaking anymore, it just can stay there for some time after it is closed. Until the renderer is used again.
verified in [nb_dev](200408011800)