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.
How to reproduce: - start debugger (f7) - Finish debugger (SF5) - start debugger (f7) - Finish debugger (SF5) - start debugger (f7) - Finish debugger (SF5) - Close all output windows Some my classes are still in memory. What I see in HAT: Static reference from org.openide.explorer.propertysheet.ReusablePropertyModel.PROPERTY (from class org.openide.explorer.propertysheet.ReusablePropertyModel) : --> org.netbeans.modules.viewmodel.TreeModelNode$MyProperty@0x387c7722 (56 bytes) (field columnModel:) --> org.netbeans.modules.debugger.jpda.ui.models.SourcesModel@0xd8869322 (48 bytes) (field debugger:) --> org.netbeans.modules.debugger.jpda.JPDADebuggerImpl@0x985ab322 (88 bytes) Static reference from org.openide.explorer.propertysheet.ReusablePropertyEnv.NODE (from class org.openide.explorer.propertysheet.ReusablePropertyEnv) : --> Instance of [Lorg.openide.nodes.Node;@0x98ab5d22 (4 bytes) (Element 0 of Instance of [Lorg.openide.nodes.Node;:) --> org.netbeans.modules.viewmodel.TreeModelNode@0xd8887722 (80 bytes) (field model:) --> org.netbeans.modules.viewmodel.CompoundModel@0xf8757922 (32 bytes) (field treeModel:) --> org.netbeans.modules.debugger.jpda.ui.models.SourcesModel@0xd8869322 (48 bytes) (field debugger:) --> org.netbeans.modules.debugger.jpda.JPDADebuggerImpl@0x985ab322 (88 bytes) Static reference from org.openide.explorer.propertysheet.RendererPropertyDisplayer.rendererFactory1 (from class org.openide.explorer.propertysheet.RendererPropertyDisplayer) : --> org.openide.explorer.propertysheet.RendererFactory@0xf8a38d22 (56 bytes) (field checkboxRenderer:) --> org.openide.explorer.propertysheet.RendererFactory$CheckboxRenderer@0xd81b8e22 (472 bytes) (field parent:) --> javax.swing.CellRendererPane@0xf8869022 (232 bytes) (field parent:) --> org.openide.explorer.propertysheet.RendererPropertyDisplayer@0x98498d22 (352 bytes) (field prop:) --> org.netbeans.modules.viewmodel.TreeModelNode$MyProperty@0x387c7722 (56 bytes) (field columnModel:) --> org.netbeans.modules.debugger.jpda.ui.models.SourcesModel@0xd8869322 (48 bytes) (field debugger:) --> org.netbeans.modules.debugger.jpda.JPDADebuggerImpl@0x985ab322 (88 bytes) Static reference from org.openide.explorer.view.VisualizerNode.cache (from class org.openide.explorer.view.VisualizerNode) : --> java.util.WeakHashMap@0x50a1c306 (48 bytes) (field table:) --> Instance of [Ljava.util.WeakHashMap$Entry;@0xc8dd2122 (128 bytes) (Element 29 of Instance of [Ljava.util.WeakHashMap$Entry;:) --> java.util.WeakHashMap$Entry@0x78dc7722 (40 bytes) (field referent:) --> org.openide.explorer.view.VisualizerNode@0x98dd7722 (56 bytes) (field node:) --> org.netbeans.modules.viewmodel.TreeModelNode@0x18f17722 (80 bytes) (field model:) --> org.netbeans.modules.viewmodel.CompoundModel@0xf8757922 (32 bytes) (field treeModel:) --> org.netbeans.modules.debugger.jpda.ui.models.SourcesModel@0xd8869322 (48 bytes) (field debugger:) --> org.netbeans.modules.debugger.jpda.JPDADebuggerImpl@0x985ab322 (88 bytes)
*** Issue 41932 has been marked as a duplicate of this issue. ***
On my list to get rid of these static fields for promo D anyway - they're an optimization to avoid creating hundreds of PropertyEnv's while painting.
Note that the reference will be cleared the first time any property sheet is used for anything else afterward; firing a NodeDestroyed should also clear it.
Tim, the NodeRenderer's static sharedInstance is also an evil. I saw it to be the root for a temporary memory leak (via HtmlRendererImpl to the whole wizard's UI - issue 40929) after Autoupdate Wizard is closed. This should be eliminated.
Known and planned to get rid of NodeRenderer's shared instance. But I am curious - by what path through HtmlRenderer did it hold the reference? It is used as a tree cell renderer, but the only thing it should hold is a string value of the last set property; JTree uses it via SwingUtilities.paintComponent(), so it should never be added to anything but an offscreen CellRendererPane. Some listener?
There used to be problem with CellRendererPane, but I don't remember details. IIRC JTree used to remove it from the pane after finished painting but JList failed to do so (or the other way around). Also, double check that the CellRendererPane is really as much "offscreen" as you think. It may be temporarily placed in some hierarchy for some obscure reason...
Should no longer be reproducible - at the expense of more allocations when painting (probably more true for TreeTableView), I got rid of the static ReusablePropertyEnv/ ReusablePropertyModel instances. So if the view is gone, everything it touched should be gone too. Checking in src/org/openide/explorer/propertysheet/CustomEditorAction.java; /cvs/openide/src/org/openide/explorer/propertysheet/CustomEditorAction.java,v <-- CustomEditorAction.java new revision: 1.7; previous revision: 1.6 done Checking in src/org/openide/explorer/propertysheet/EditablePropertyDisplayer.java; /cvs/openide/src/org/openide/explorer/propertysheet/EditablePropertyDisplayer.java,v <-- EditablePropertyDisplayer.java new revision: 1.7; previous revision: 1.6 done Checking in src/org/openide/explorer/propertysheet/EditorPropertyDisplayer.java; /cvs/openide/src/org/openide/explorer/propertysheet/EditorPropertyDisplayer.java,v <-- EditorPropertyDisplayer.java new revision: 1.7; previous revision: 1.6 done Checking in src/org/openide/explorer/propertysheet/InplaceEditorFactory.java; /cvs/openide/src/org/openide/explorer/propertysheet/InplaceEditorFactory.java,v <-- InplaceEditorFactory.java new revision: 1.8; previous revision: 1.7 done Checking in src/org/openide/explorer/propertysheet/PropertyDisplayer_Inline.java; /cvs/openide/src/org/openide/explorer/propertysheet/PropertyDisplayer_Inline.java,v <-- PropertyDisplayer_Inline.java new revision: 1.2; previous revision: 1.1 done Checking in src/org/openide/explorer/propertysheet/PropertyPanel.java; /cvs/openide/src/org/openide/explorer/propertysheet/PropertyPanel.java,v <-- PropertyPanel.java new revision: 1.143; previous revision: 1.142 done Checking in src/org/openide/explorer/propertysheet/PropertySheet.java; /cvs/openide/src/org/openide/explorer/propertysheet/PropertySheet.java,v <-- PropertySheet.java new revision: 1.164; previous revision: 1.163 done Checking in src/org/openide/explorer/propertysheet/RendererFactory.java; /cvs/openide/src/org/openide/explorer/propertysheet/RendererFactory.java,v <-- RendererFactory.java new revision: 1.15; previous revision: 1.14 done Checking in src/org/openide/explorer/propertysheet/RendererPropertyDisplayer.java; /cvs/openide/src/org/openide/explorer/propertysheet/RendererPropertyDisplayer.java,v <-- RendererPropertyDisplayer.java new revision: 1.10; previous revision: 1.9 done Checking in src/org/openide/explorer/propertysheet/ReusablePropertyEnv.java; /cvs/openide/src/org/openide/explorer/propertysheet/ReusablePropertyEnv.java,v <-- ReusablePropertyEnv.java new revision: 1.7; previous revision: 1.6 done Checking in src/org/openide/explorer/propertysheet/ReusablePropertyModel.java; /cvs/openide/src/org/openide/explorer/propertysheet/ReusablePropertyModel.java,v <-- ReusablePropertyModel.java new revision: 1.4; previous revision: 1.3 done Checking in src/org/openide/explorer/propertysheet/SheetCellEditor.java; /cvs/openide/src/org/openide/explorer/propertysheet/SheetCellEditor.java,v <-- SheetCellEditor.java new revision: 1.14; previous revision: 1.13 done Checking in src/org/openide/explorer/propertysheet/SheetCellRenderer.java; /cvs/openide/src/org/openide/explorer/propertysheet/SheetCellRenderer.java,v <-- SheetCellRenderer.java new revision: 1.10; previous revision: 1.9 done Checking in src/org/openide/explorer/propertysheet/SheetTable.java; /cvs/openide/src/org/openide/explorer/propertysheet/SheetTable.java,v <-- SheetTable.java new revision: 1.41; previous revision: 1.40 done Processing log script arguments... More commits to come... Checking in test/unit/src/org/openide/explorer/propertysheet/ CustomInplaceEditorTest.java; /cvs/openide/test/unit/src/org/openide/explorer/propertysheet/ CustomInplaceEditorTest.java,v <-- CustomInplaceEditorTest.java new revision: 1.4; previous revision: 1.3 done Checking in test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorFactoryTest.java; /cvs/openide/test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorFactoryTest.java,v <-- InplaceEditorFactoryTest.java new revision: 1.5; previous revision: 1.4 done Checking in test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorNoModifyOnTextChangeContractBooleanEditorTest.java; /cvs/openide/test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorNoModifyOnTextChangeContractBooleanEditorTest.java,v <-- InplaceEditorNoModifyOnTextChangeContractBooleanEditorTest.java new revision: 1.8; previous revision: 1.7 done Checking in test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorNoModifyOnTextChangeContractComboEditorTest.java; /cvs/openide/test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorNoModifyOnTextChangeContractComboEditorTest.java,v <-- InplaceEditorNoModifyOnTextChangeContractComboEditorTest.java new revision: 1.8; previous revision: 1.7 done Checking in test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorNoModifyOnTextChangeContractStringEditorTest.java; /cvs/openide/test/unit/src/org/openide/explorer/propertysheet/ InplaceEditorNoModifyOnTextChangeContractStringEditorTest.java,v <-- InplaceEditorNoModifyOnTextChangeContractStringEditorTest.java new revision: 1.9; previous revision: 1.8 done
Issue 41932 was checked and verified, verifying this too.