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.
After running test described in issue 121855, one gets following leak: private static org.netbeans.core.NbMainExplorer$MainTab org.netbeans.core.NbMainExplorer$MainTab.lastActivated-> org.netbeans.core.NbMainExplorer$MainTab@ada1dc-parent-> javax.swing.JPanel@1a32ada-component-> [Ljava.awt.Component;@1fc2002-[0]-> org.netbeans.modules.project.ui.ProjectTab@7badec-manager-> org.openide.explorer.ExplorerManager@63e4e6-exploredContext-> org.openide.nodes.FilterNode@13b58c4-parent-> org.openide.nodes.ChildrenArray@198e51c-children-> org.openide.nodes.FilterNode$Children@15579a1-original-> org.netbeans.modules.java.j2seproject.ui.SourceNodeFactory$PackageViewFilterNode@1009d67-project-> org.netbeans.modules.java.j2seproject.J2SEProject@1ad37f6
Belongs to explorer maintainers I think, passing there...
the performance team would like to ask your teams for help with making memory leak tests part of the commit validation. One of the main performance goals for 6.1 is to fix memory leaks in main use cases and prevent regressions in future. As the first step the performance team plans to extend the commit validation tests by checking whether certain important data structures are freed from memory after the tests finish. All leaks found so far are filed under 121855 umbrella issue: http://openide.netbeans.org/issues/showdependencytree.cgi?id=121855 As you can see, the number of issues is not high (14 at this moment, some of them already fixed). We need to fix the rest - and fix leaks that appear in the future preferentially (as part of commit validation). Thus we will make the issues of P2 priority.
This looks like if some node beneath the package view node stayed as the explored context of the explorer!?
I fixed this one as part of issue 124712, but now there is a new one, related to some swing caches: private static org.netbeans.core.NbMainExplorer$MainTab org.netbeans.core.NbMainExplorer$MainTab.lastActivated-> org.netbeans.core.NbMainExplorer$MainTab@43b164-parent-> javax.swing.JPanel@1cdfe45-component-> [Ljava.awt.Component;@1b6f3bc-[1]-> org.netbeans.modules.project.ui.ProjectTab@1cdc4a5-btv-> org.netbeans.modules.project.ui.ProjectTab$ProjectTreeView@3db926-tree-> org.openide.explorer.view.TreeView$ExplorerTree@13f4ba2-ui-> javax.swing.plaf.metal.MetalTreeUI@debf90-drawingCache-> java.util.Hashtable@1172140-table-> [Ljava.util.Hashtable$Entry;@56b08c-[6]-> java.util.Hashtable$Entry@18bd64f-key-> javax.swing.tree.TreePath@1bd98c9-lastPathComponent-> org.openide.explorer.view.VisualizerNode@16900eb-node-> org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode@14d99fe-listeners-> org.openide.nodes.Node$LookupEventList@fb08e-lookup-> org.netbeans.modules.project.ui.ProjectsRootNode$BadgingLookup@1094ba2-lookups-> org.openide.util.lookup.ProxyLookup@184ffa-lookups-> [Lorg.openide.util.Lookup;@150e545-[1]-> org.openide.util.lookup.SimpleLookup@a2b064-allItems-> java.util.ArrayList@2b465-elementData-> [Ljava.lang.Object;@11f66e6-[0]-> org.openide.util.lookup.InstanceContent$SimpleItem@1e76511-obj-> org.netbeans.modules.java.j2seproject.J2SEProject@c6d247
Making P2 as previously announced.
Reassigning to new module owner Tomas Holy.
Reassigning to Jarda on his request. junit.framework.AssertionFailedError: Checking if all projects are really garbage collected Project: private static final org.openide.loaders.DataFilter org.netbeans.modules.project.ui.PhysicalView$GroupNode.VISIBILITY_QUERY_FILTER-> org.netbeans.modules.project.ui.PhysicalView$VisibilityQueryDataFilter@c835ba-changeSupport-> org.openide.util.ChangeSupport@15af02e-listeners-> java.util.concurrent.CopyOnWriteArrayList@931667-array-> [Ljava.lang.Object;@19535b3-[0]-> org.openide.loaders.FolderChildren@a36729-parent-> org.netbeans.modules.project.ui.PhysicalView$GroupNode@16700b3-pi-> org.netbeans.modules.java.j2seproject.J2SEProject$Info@6b11f2-this$0-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static org.netbeans.modules.navigator.NavigatorTC org.netbeans.modules.navigator.NavigatorTC.instance-> org.netbeans.modules.navigator.NavigatorTC@1607b27-activatedNodes-> [Lorg.openide.nodes.Node;@1c6b81-[0]-> org.openide.nodes.FilterNode@1a7c7d7-original-> org.netbeans.modules.java.JavaNode@1253dfb-status-> org.netbeans.spi.project.support.ant.GlobFileBuiltQuery$StatusImpl@701d1e-this$0-> org.netbeans.spi.project.support.ant.GlobFileBuiltQuery@1111c97-helper-> org.netbeans.spi.project.support.ant.AntProjectHelper@105ba85-state-> org.netbeans.api.project.ProjectManager$ProjectStateImpl@e7ecfe-p-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static final java.util.Map org.openide.util.lookup.MetaInfServicesLookup.knownInstances-> java.util.WeakHashMap@1daa34-table-> [Ljava.util.WeakHashMap$Entry;@d46238-[466]-> java.util.WeakHashMap$Entry@d8143a-value-> org.netbeans.modules.java.navigation.ClassMemberNavigatorJavaSourceFactory@1b985f8-file2JS-> java.util.HashMap@11104ce-table-> [Ljava.util.HashMap$Entry;@debed3-[7]-> java.util.HashMap$Entry@1f28092-value-> org.netbeans.api.java.source.JavaSource@14d6695-classpathInfo-> org.netbeans.api.java.source.ClasspathInfo@32e0f8-srcClassPath-> org.netbeans.api.java.classpath.ClassPath@160f22d-impl-> org.netbeans.modules.java.j2seproject.classpath.SourcePathImplementation@e29377-sourceRoots-> org.netbeans.modules.java.api.common.SourceRoots@1970a06-helper-> org.netbeans.modules.java.api.common.ant.UpdateHelper@2a64a0-updateProject-> org.netbeans.modules.java.j2seproject.UpdateProjectImpl@3a036-project-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static org.netbeans.jellytools.MainWindowOperator org.netbeans.jellytools.MainWindowOperator.defaultMainWindowOperator-> org.netbeans.jellytools.MainWindowOperator@1c807d8-_menuBar-> org.netbeans.jemmy.operators.JMenuBarOperator@ff0691-source-> org.openide.awt.MenuBar@af26de-component-> [Ljava.awt.Component;@e86c61-[6]-> org.openide.awt.MenuBar$LazyMenu@1c8e35a-popupMenu-> javax.swing.JPopupMenu@831c7-component-> [Ljava.awt.Component;@463490-[2]-> org.netbeans.modules.project.ui.actions.ActiveConfigAction$ConfigMenu@d5ba3a-popupMenu-> javax.swing.JPopupMenu@1bc1010-component-> [Ljava.awt.Component;@afed70-[2]-> javax.swing.JMenuItem@dbf2d7-listenerList-> javax.swing.event.EventListenerList@1bc4dbd-listenerList-> [Ljava.lang.Object;@1c5d8ce-[3]-> org.netbeans.modules.project.ui.actions.ActiveConfigAction$ConfigMenu$2@11fef52-val$pcp-> org.netbeans.modules.java.j2seproject.J2SEConfigurationProvider@1a2ed40-p-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static org.netbeans.core.NbMainExplorer$MainTab org.netbeans.core.NbMainExplorer$MainTab.lastActivated-> org.netbeans.core.NbMainExplorer$MainTab@1b6cb5d-parent-> javax.swing.JPanel@1f210cf-component-> [Ljava.awt.Component;@2c726e-[1]-> org.netbeans.modules.project.ui.ProjectTab@1ed3da1-btv-> org.netbeans.modules.project.ui.ProjectTab$ProjectTreeView@f5268c-tree-> org.openide.explorer.view.TreeView$ExplorerTree@1474776-ui-> javax.swing.plaf.metal.MetalTreeUI@145a736-drawingCache-> java.util.Hashtable@1410d6b-table-> [Ljava.util.Hashtable$Entry;@101fee3-[0]-> java.util.Hashtable$Entry@148e15b-key-> javax.swing.tree.TreePath@1169480-lastPathComponent-> org.openide.explorer.view.VisualizerNode@401fe-node-> org.netbeans.modules.project.ui.ProjectsRootNode$BadgingNode@9e0714-pair-> org.netbeans.modules.project.ui.ProjectsRootNode$ProjectChildren$Pair@fbcdf0-project-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static javax.swing.text.html.StyleSheet javax.swing.text.html.HTMLEditorKit.defaultStyles-> javax.swing.text.html.StyleSheet@1fe1f98-css-> javax.swing.text.html.CSS@89fc13-styleSheet-> javax.swing.text.html.StyleSheet@2fa860-styles-> javax.swing.text.StyleContext$NamedStyle@16283c8-listenerList-> javax.swing.event.EventListenerList@1b7f740-listenerList-> [Ljava.lang.Object;@364764-[1]-> javax.swing.text.DefaultStyledDocument$StyleContextChangeHandler@bafaea-this$0-> javax.swing.text.html.HTMLDocument@4efe93-listenerList-> javax.swing.event.EventListenerList@77da20-listenerList-> [Ljava.lang.Object;@1626392-[1]-> javax.swing.text.DefaultCaret$Handler@5f9332-this$0-> javax.swing.plaf.basic.BasicTextUI$BasicCaret@d6a756-component-> javax.swing.JEditorPane@c825e5-parent-> javax.swing.JViewport@d76855-parent-> javax.swing.JScrollPane@114f086-parent-> org.netbeans.modules.project.ui.TemplatesPanelGUI@16a9bf-parent-> org.netbeans.modules.project.ui.TemplateChooserPanelGUI@33570c-project-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static final java.util.Map org.netbeans.api.java.source.JavaSource.finishedRequests-> java.util.WeakHashMap@1502922-table-> [Ljava.util.WeakHashMap$Entry;@bc0c0b-[7]-> java.util.WeakHashMap$Entry@9b821b-value-> java.util.LinkedList@155a57b-header-> java.util.LinkedList$Entry@16e58c5-next-> java.util.LinkedList$Entry@e479d6-element-> org.netbeans.api.java.source.JavaSource$Request@1b63f16-task-> org.netbeans.modules.java.navigation.ElementScanningTask@1a09201-pos-> java.util.HashMap@18c7483-table-> [Ljava.util.HashMap$Entry;@6f2372-[9]-> java.util.HashMap$Entry@720220-key-> com.sun.tools.javac.code.Symbol$ClassSymbol@12fd69c-owner-> com.sun.tools.javac.code.Symbol$PackageSymbol@103973d-owner-> com.sun.tools.javac.code.Symbol$PackageSymbol@50dc22-completer-> org.netbeans.modules.java.source.usages.SymbolClassReader@1219731-fileManager-> org.netbeans.modules.java.source.parsing.ProxyFileManager@12ec603-bootPath-> org.netbeans.modules.java.source.parsing.CachingFileManager@47383e-cp-> org.netbeans.api.java.classpath.ClassPath@1db256e-impl-> org.netbeans.modules.java.source.classpath.CacheClassPath@9e1504-cp-> org.netbeans.api.java.classpath.ClassPath@8d5d46-impl-> org.netbeans.modules.java.j2seproject.classpath.BootClassPathImplementation@b346c0-evaluator-> org.netbeans.spi.project.support.ant.PropertyUtils$SequentialPropertyEvaluator@14f0907-listeners-> java.util.ArrayList@7fd3d6-elementData-> [Ljava.lang.Object;@7ca334-[12]-> org.netbeans.modules.java.j2seproject.MainClassUpdater@13882eb-project-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a private static org.netbeans.modules.javahelp.JavaHelp org.netbeans.modules.javahelp.Installer.help-> org.netbeans.modules.javahelp.JavaHelp@1aedf49-lastJH-> javax.help.JHelp@1c6344b-contentViewer-> javax.help.JHelpContentViewer@1e2a603-ui-> javax.help.plaf.basic.BasicContentViewerUI@43995d-vp-> javax.swing.JViewport@1c8295b-componentListener-> javax.swing.text.html.HTMLEditorKit$HTMLFactory$BodyBlockView@15c9af7-attr-> javax.swing.text.html.StyleSheet$ViewAttributeSet@279ebd-attrs-> [Ljavax.swing.text.AttributeSet;@1d49a8c-[0]-> javax.swing.text.html.StyleSheet$ResolvedStyle@1c1e3f5-attrs-> [Ljavax.swing.text.AttributeSet;@670f41-[1]-> javax.swing.text.html.StyleSheet$ResolvedStyle@12a5d65-attrs-> [Ljavax.swing.text.AttributeSet;@32b492-[1]-> javax.swing.text.html.StyleSheet$ResolvedStyle@17c4636-attrs-> [Ljavax.swing.text.AttributeSet;@15fb7fb-[0]-> javax.swing.text.StyleContext$NamedStyle@1892c59-this$0-> javax.swing.text.html.StyleSheet@cf712b-css-> javax.swing.text.html.CSS@10c7678-styleSheet-> javax.swing.text.html.StyleSheet@6ec40-styles-> javax.swing.text.StyleContext$NamedStyle@794009-listenerList-> javax.swing.event.EventListenerList@d84abe-listenerList-> [Ljava.lang.Object;@15b2d03-[1]-> javax.swing.text.DefaultStyledDocument$StyleContextChangeHandler@9c2b6b-this$0-> javax.swing.text.html.HTMLDocument@6b540f-listenerList-> javax.swing.event.EventListenerList@1fa1506-listenerList-> [Ljava.lang.Object;@1490874-[1]-> javax.swing.text.DefaultCaret$Handler@924c62-this$0-> javax.swing.plaf.basic.BasicTextUI$BasicCaret@65943e-component-> javax.swing.JEditorPane@c18de6-parent-> javax.swing.JViewport@86e792-parent-> javax.swing.JScrollPane@15e73e7-parent-> org.netbeans.modules.project.ui.TemplatesPanelGUI@987248-parent-> org.netbeans.modules.project.ui.TemplateChooserPanelGUI@c481c5-project-> org.netbeans.modules.java.j2seproject.J2SEProject@3cd21a at junit.framework.Assert.fail(Assert.java:47) at org.netbeans.junit.NbTestCase.assertGC(NbTestCase.java:1203) at org.netbeans.junit.NbTestCase.assertGC(NbTestCase.java:1152) at org.netbeans.junit.Log$InstancesHandler.assertGC(Log.java:401) at org.netbeans.junit.Log.assertInstances(Log.java:222) at org.netbeans.test.ide.WatchProjects.assertProjects(WatchProjects.java:101) at org.netbeans.test.ide.IDEValidation.testGCProjects(IDEValidation.java:1401) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at junit.framework.TestCase.runTest(TestCase.java:164) at org.netbeans.junit.NbTestCase.access$200(NbTestCase.java:83) at org.netbeans.junit.NbTestCase$2.doSomething(NbTestCase.java:314) at org.netbeans.junit.NbTestCase$1Guard.run(NbTestCase.java:252) at org.netbeans.junit.NbTestCase.runBare(NbTestCase.java:330) at org.netbeans.jellytools.JellyTestCase.runBare(JellyTestCase.java:144) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at org.netbeans.junit.NbTestCase.run(NbTestCase.java:192) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at org.netbeans.xtest.testrunner.JUnitTestRunner.runTests(JUnitTestRunner.java:191) at org.netbeans.xtest.testrunner.JUnitTestRunner.runTests(JUnitTestRunner.java:146) at org.netbeans.xtest.plugin.ide.MainWithExec.run(MainWithExec.java:108) at org.netbeans.xtest.plugin.ide.Main$3.run(Main.java:326) at java.lang.Thread.run(Thread.java:595)
I have fixed the test to clear all UI peers from existing JTrees. changeset: 68110:39ab15eebc3e user: Jaroslav Tulach <jtulach@netbeans.org> date: Fri Feb 22 11:00:04 2008 +0100 summary: JTree UI keeps reference to invisible nodes due to some "drawingCache"