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.

Bug 47006 - xtest's error manager turns all logging on by default
Summary: xtest's error manager turns all logging on by default
Status: CLOSED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: xtest (show other bugs)
Version: 4.x
Hardware: All All
: P2 blocker (vote)
Assignee: issues@obsolete
URL:
Keywords: T9Y, THREAD
Depends on:
Blocks:
 
Reported: 2004-08-09 09:42 UTC by Marian Mirilovic
Modified: 2006-03-24 09:49 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
full thread-dump (8.72 KB, text/plain)
2004-08-09 09:44 UTC, Marian Mirilovic
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marian Mirilovic 2004-08-09 09:42:05 UTC
[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)
Comment 1 Marian Mirilovic 2004-08-09 09:44:07 UTC
Created attachment 16689 [details]
full thread-dump
Comment 2 Jaroslav Tulach 2004-08-09 15:40:40 UTC
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

Comment 3 Jaroslav Tulach 2004-08-09 15:50:22 UTC
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.
Comment 4 Jiri Skrivanek 2004-08-10 10:44:23 UTC
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
Comment 5 Marian Mirilovic 2004-08-11 10:09:28 UTC
verified in [nb_dev](200408101800)

Jarda, thanks for help ;)