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_dev](200408081800), [jdk1.5.0](b61) IDE starts but never comes visible , attached is full thread-dump (after fix issue 46974) -------------------------- "main" prio=5 tid=0x0f46d340 nid=0x504 in Object.wait() [0x0f98f000..0x0f98fb68] at java.lang.Object.wait(Native Method) - waiting on <0x039c4528> (a org.openide.loaders.DataObjectPool) at java.lang.Object.wait(Object.java:474) at org.openide.loaders.DataObjectPool.waitNotified(DataObjectPool.java:470) - locked <0x039c4528> (a org.openide.loaders.DataObjectPool) at org.openide.loaders.DataObjectExistsException.getDataObject(DataObjectExistsException.java:43) at org.openide.loaders.MultiFileLoader.handleFindDataObject(MultiFileLoader.java:76) at org.openide.loaders.DataObjectPool.handleFindDataObject(DataObjectPool.java:111) at org.openide.loaders.DataLoader.findDataObject(DataLoader.java:233) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:378) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:338) at org.openide.loaders.DataObject.find(DataObject.java:456) at org.openide.loaders.FolderLookup$ICItem.init(FolderLookup.java:393) at org.openide.loaders.FolderLookup$ICItem.instanceOf(FolderLookup.java:444) at org.openide.util.lookup.InheritanceTree$1VerifyJob.before(InheritanceTree.java:333) at org.openide.util.lookup.AbstractLookup$ISE.recover(AbstractLookup.java:1132) at org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:374) at org.openide.util.lookup.ProxyLookup$R.initResults(ProxyLookup.java:236) at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:417) - locked <0x02c545e0> (a org.openide.util.lookup.ProxyLookup$R) at org.openide.util.lookup.ProxyLookup$R.beforeLookup(ProxyLookup.java:436) at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:424) at org.openide.util.lookup.ProxyLookup$R.computeResult(ProxyLookup.java:346) at org.openide.util.lookup.ProxyLookup$R.allInstances(ProxyLookup.java:320) at org.openide.util.SharedClassObject$1SOLoader.resultChanged(SharedClassObject.java:495) at org.openide.util.lookup.AbstractLookup.notifyListeners(AbstractLookup.java:405) at org.openide.util.lookup.ProxyLookup$R.resultChanged(ProxyLookup.java:406) at org.openide.util.lookup.ProxyLookup.setLookups(ProxyLookup.java:109) at org.netbeans.core.NbTopManager$Lkp.doInitializeLookup(NbTopManager.java:763) at org.netbeans.core.NbTopManager$Lkp.modulesClassPathInitialized(NbTopManager.java:746) at org.netbeans.core.modules.NbInstaller.load(NbInstaller.java:231) at org.netbeans.core.modules.ModuleManager.enable(ModuleManager.java:861) at org.netbeans.core.modules.ModuleList.installNew(ModuleList.java:350) at org.netbeans.core.modules.ModuleList.trigger(ModuleList.java:284) at org.netbeans.core.modules.ModuleSystem.restore(ModuleSystem.java:253) at org.netbeans.core.NonGui.run(NonGui.java:369) at org.netbeans.core.Main.run(Main.java:168) at org.netbeans.core.NbTopManager.getNbTopManager(NbTopManager.java:232) - locked <0x0ae319b8> (a java.lang.Class) at org.netbeans.core.NbTopManager.get(NbTopManager.java:187)
Created attachment 16689 [details] full thread-dump
I'll take care of the issue, even I am not sure what could be the problem. I guess the only way to find out more is to turn on logging and try to simulate the issue once more. The need logging should use: -J-Dorg.openide.loaders.DataObjectPool.find=-1
I am not sure about this deadlock, but definitively the Friday issue 46974 is caused by a logging being turned on. As the broken behaviour appears only in xtest framework, I have a strong feeling that it is caused by the xtest incorrectly turning logging on. See: 1. ErrorManager.getDefault() gets all ErrorManagers from Lookup and if one of them turns logging on (isLogging() returns true) it turns logging on. 2. ErrorManager.isLogging by default returns true 3. xtest's error manager does not override this method (even it does nothing in the log method). That is why its instance returns true. 4. DataObjectPool is then switched into logging mode and probably there is some problem. I know that logging should not cause any problems, but if your report is P2 then it has simple solution - fix xtest's error manager. If you want to fire another bug to openide/loaders, ok, but keep it p4.
I added method isLoggable to XTestErrorManager. It returns (severity > INFORMATIONAL) which is default in org.openide.ErrorManager.DelegatingErrorManager. 1.3 xtest/plugins_src/ide/src/org/netbeans/xtest/plugin/ide/services/XTestErrorManager.java
verified in [nb_dev](200408101800) Jarda, thanks for help ;)