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.
Summary: | proxyLookup.allInstances().iterator() should be interative | ||
---|---|---|---|
Product: | platform | Reporter: | Jaroslav Tulach <jtulach> |
Component: | Lookup | Assignee: | Jaroslav Tulach <jtulach> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | apireviews, jglick |
Priority: | P1 | ||
Version: | 7.2 | ||
Hardware: | Other | ||
OS: | Linux | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | 212862 | ||
Bug Blocks: | 210279, 229366 |
Description
Jaroslav Tulach
2012-03-08 13:23:25 UTC
Currently blocks propagation of changes from ergonomics repository as tests like org.netbeans.modules.settings.convertors.ConvertAsBeanTest.testReadWriteOnSubclass and org.netbeans.spi.settings.DOMConvertorTest.testCreateSetting_XML are failing due to deadlock between Lookup and AWT shutdown hook. Group main Thread main at java.lang.Thread.dumpThreads(Thread.java:-2) at java.lang.Thread.getAllStackTraces(Thread.java:1530) at org.netbeans.junit.NbTestCase.threadDump(NbTestCase.java:302) at org.netbeans.junit.NbTestCase.access$000(NbTestCase.java:99) at org.netbeans.junit.NbTestCase$1Guard.waitFinished(NbTestCase.java:372) at org.netbeans.junit.NbTestCase.runBare(NbTestCase.java:430) at org.netbeans.junit.NbTestCase.run(NbTestCase.java:265) Thread Active Reference Queue Daemon at java.lang.Object.wait(Object.java:-2) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) at org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.java:174) Thread AWT-XAWT at sun.awt.X11.XToolkit.waitForEvents(XToolkit.java:-2) at sun.awt.X11.XToolkit.run(XToolkit.java:579) at sun.awt.X11.XToolkit.run(XToolkit.java:543) at java.lang.Thread.run(Thread.java:662) Thread AWT-Shutdown at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:485) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265) at java.lang.Thread.run(Thread.java:662) Thread AWT-EventQueue-0 at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:485) at org.openide.util.Task.waitFinished(Task.java:133) at org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:1667) at org.openide.loaders.FolderInstance.waitFinished(FolderInstance.java:332) at org.openide.loaders.FolderLookup$ProxyLkp.beforeLookup(FolderLookup.java:420) at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:624) at org.openide.util.lookup.ProxyLookup$R.beforeLookup(ProxyLookup.java:647) at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:634) at org.openide.util.lookup.ProxyLookup$R.access$600(ProxyLookup.java:332) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1009) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1003) at org.openide.util.lookup.ProxyLookup$LazyCollection.iterator(ProxyLookup.java:1099) at org.openide.util.ImageUtilities.getLoader(ImageUtilities.java:339) at org.openide.util.ImageUtilities.getIcon(ImageUtilities.java:420) at org.openide.util.ImageUtilities.loadImage(ImageUtilities.java:132) at org.netbeans.swing.plaf.util.UIUtils.loadWithUtilities(UIUtils.java:153) at org.netbeans.swing.plaf.util.UIUtils.loadImage(UIUtils.java:125) at org.netbeans.swing.plaf.metal.MetalLFCustoms.createApplicationSpecificKeysAndValues(MetalLFCustoms.java:106) at org.netbeans.swing.plaf.LFCustoms.getApplicationSpecificKeysAndValues(LFCustoms.java:96) at org.netbeans.swing.plaf.Startup.installLFCustoms(Startup.java:325) at org.netbeans.swing.plaf.Startup.installPerLFDefaults(Startup.java:255) at org.netbeans.swing.plaf.Startup.install(Startup.java:236) at org.netbeans.swing.plaf.Startup.run(Startup.java:507) at org.netbeans.core.CoreBridgeImpl$1.run(CoreBridgeImpl.java:131) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(AccessController.java:-2) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:611) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Thread Test Watch Dog: testCreateSetting at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:485) at org.openide.util.Task.waitFinished(Task.java:133) at org.openide.util.RequestProcessor$Task.waitFinished(RequestProcessor.java:1667) at org.openide.loaders.FolderInstance.waitFinished(FolderInstance.java:332) at org.openide.loaders.FolderLookup$ProxyLkp.beforeLookup(FolderLookup.java:420) at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:624) at org.openide.util.lookup.ProxyLookup$R.beforeLookup(ProxyLookup.java:647) at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:634) at org.openide.util.lookup.ProxyLookup$R.access$600(ProxyLookup.java:332) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1009) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1003) at org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1104) at java.util.ArrayList.addAll(ArrayList.java:472) at org.netbeans.core.NbLoaderPool.loaders(NbLoaderPool.java:754) at org.openide.loaders.DataLoaderPool.computeLoaders(DataLoaderPool.java:286) at org.openide.loaders.DataLoaderPool.allLoaders(DataLoaderPool.java:336) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:530) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:493) at org.openide.loaders.DataObject.find(DataObject.java:532) at org.openide.loaders.DataFolder.findFolder(DataFolder.java:540) at org.netbeans.spi.settings.DOMConvertorTest.testCreateSetting(DOMConvertorTest.java:87) at org.netbeans.junit.NbTestCase.access$200(NbTestCase.java:99) at org.netbeans.junit.NbTestCase$2.doSomething(NbTestCase.java:405) at org.netbeans.junit.NbTestCase$1Guard.run(NbTestCase.java:331) at java.lang.Thread.run(Thread.java:662) Thread Test Watch Dog: testCreateSetting_XML at org.netbeans.core.NbLoaderPool.loaders(NbLoaderPool.java:751) at org.openide.loaders.DataLoaderPool.computeLoaders(DataLoaderPool.java:286) at org.openide.loaders.DataLoaderPool.allLoaders(DataLoaderPool.java:336) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:530) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:493) at org.openide.loaders.DataObject.find(DataObject.java:532) at org.openide.loaders.DataFolder.findFolder(DataFolder.java:540) at org.netbeans.spi.settings.DOMConvertorTest.testCreateSetting_XML(DOMConvertorTest.java:119) at org.netbeans.junit.NbTestCase.access$200(NbTestCase.java:99) at org.netbeans.junit.NbTestCase$2.doSomething(NbTestCase.java:405) at org.netbeans.junit.NbTestCase$1Guard.run(NbTestCase.java:331) at java.lang.Thread.run(Thread.java:662) Thread Reference Handler at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) Thread Finalizer at java.lang.Object.wait(Object.java:-2) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) Thread Signal Dispatcher Thread Java2D Disposer at java.lang.Object.wait(Object.java:-2) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at sun.java2d.Disposer.run(Disposer.java:127) at java.lang.Thread.run(Thread.java:662) Thread Folder recognizer at org.netbeans.core.NbLoaderPool.loaders(NbLoaderPool.java:751) at org.openide.loaders.DataLoaderPool.computeLoaders(DataLoaderPool.java:286) at org.openide.loaders.DataLoaderPool.allLoaders(DataLoaderPool.java:336) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:530) at org.openide.loaders.FolderList.createBoth(FolderList.java:799) at org.openide.loaders.FolderList.getObjects(FolderList.java:595) at org.openide.loaders.FolderList.access$200(FolderList.java:77) at org.openide.loaders.FolderList$ListTask.computeResult(FolderList.java:994) at org.openide.loaders.FolderList$ListTask.run(FolderList.java:970) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991) Thread Inactive RequestProcessor thread [Was:TimedSoftReference/org.openide.util.TimedSoftReference] at java.lang.Object.wait(Object.java:-2) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1942) [junit] at org.netbeans.junit.NbTestCase$1Guard.waitFinished(NbTestCase.java:372) at org.netbeans.junit.NbTestCase.runBare(NbTestCase.java:430) at org.netbeans.junit.NbTestCase.run(NbTestCase.java:265) Implemented on a branch http://hg.netbeans.org/ergonomics/rev/IterativeProxyIterator209322 and merged as 0eca64c241c3 Needs few more fixes and deserves a review for semantic incompatibility: http://hg.netbeans.org/ergonomics/rev/49f78bc9c543 Right now I am fixing 35 failed tests. Vladimir, can you check CND tests, please? Running ant -f cnd.kit/misc-build.xml test seems to produce reasonable results. Seems OK in e12ef8061554. Fixed issue link in apichanges: core-main #7d552aa694b8 |