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 28045 - startup deadlock in RegistryImpl constructor
Summary: startup deadlock in RegistryImpl constructor
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 3.x
Hardware: PC Windows ME/2000
: P2 blocker (vote)
Assignee: David Simonek
URL:
Keywords: THREAD
Depends on:
Blocks:
 
Reported: 2002-10-16 14:03 UTC by David Simonek
Modified: 2008-12-23 09:40 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Simonek 2002-10-16 14:04:00 UTC
Found one Java-level deadlock:
=============================
"Folder Instance Processor":
  waiting to lock monitor 0xb67704 (object
0x3649ca0, a
org.netbeans.core.windows.WindowManagerImpl),
  which is held by "AWT-EventQueue-0"
"AWT-EventQueue-0":
  waiting to lock monitor 0xb67764 (object
0x95220d8, a java.lang.Class),
  which is held by "Folder Instance Processor"

Java stack information for the threads listed above:
===================================================
"Folder Instance Processor":
        at
org.netbeans.core.windows.WindowManagerImpl.addTopComponentListener(WindowManagerImpl.java:803)
        - waiting to lock <03649CA0> (a
org.netbeans.core.windows.WindowManagerImpl)
        at
org.netbeans.core.windows.RegistryImpl.<init>(RegistryImpl.java:92)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at
java.lang.Class.newInstance0(Class.java:306)
        at java.lang.Class.newInstance(Class.java:259)
        at
org.openide.util.MetaInfServicesLookup$P.getInstance(MetaInfServicesLookup.java:262)
        - locked <095220D8> (a java.lang.Class)
        at
org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:253)
        at
org.openide.util.lookup.ProxyLookup.lookup(ProxyLookup.java:132)
        at
org.openide.util.actions.CallbackSystemAction.getRegistry(CallbackSystemAction.java:147)
        at
org.openide.util.actions.CallbackSystemAction.<clinit>(CallbackSystemAction.java:65)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at
org.openide.util.SharedClassObject.createInstancePrivileged(SharedClassObject.java:520)
        at
org.openide.util.SharedClassObject$SetAccessibleAction.run(SharedClassObject.java:967)
        at
java.security.AccessController.doPrivileged(Native
Method)
        at
org.openide.util.SharedClassObject.findObject(SharedClassObject.java:437)
        - locked <091EAC90> (a java.lang.String)
        at
org.openide.loaders.InstanceSupport.instanceCreate(InstanceSupport.java:206)
        at
org.openide.loaders.InstanceDataObject$Ser.instanceCreate(InstanceDataObject.java:1144)
        at
org.openide.loaders.InstanceDataObject.instanceCreate(InstanceDataObject.java:674)
        at
org.netbeans.core.ShortcutsFolder.acceptDataObject(ShortcutsFolder.java:128)
        at
org.openide.loaders.FolderInstance.defaultProcessObjects(FolderInstance.java:484)
        at
org.openide.loaders.FolderInstance.access$100(FolderInstance.java:45)
        at
org.openide.loaders.FolderInstance$2.run(FolderInstance.java:456)
        at org.openide.util.Task.run(Task.java:136)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:599)
"AWT-EventQueue-0":
        at
org.openide.util.MetaInfServicesLookup$P.getInstance(MetaInfServicesLookup.java:257)
        - waiting to lock <095220D8> (a
java.lang.Class)
        at
org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:253)
        at
org.openide.util.lookup.ProxyLookup.lookup(ProxyLookup.java:132)
        at
org.openide.windows.WindowManager.componentRegistry(WindowManager.java:88)
        at
org.openide.windows.WindowManager.getRegistry(WindowManager.java:101)
        - locked <03649CA0> (a
org.netbeans.core.windows.WindowManagerImpl)
        at
org.netbeans.core.windows.WindowManagerImpl.getSelectedNodes(WindowManagerImpl.java:754)
        at
org.netbeans.core.windows.WindowManagerImpl$2.run(WindowManagerImpl.java:600)
        at
org.netbeans.core.windows.WindowManagerImpl.setCurrentWorkspace(WindowManagerImpl.java:563)
        at
org.netbeans.core.windows.WorkspaceImpl.activate(WorkspaceImpl.java:254)
        at
org.netbeans.core.windows.layers.WindowManagerData$InstanceCookieImpl.updateWorkspaces(WindowManagerData.java:466)
        at
org.netbeans.core.windows.layers.WindowManagerData$InstanceCookieImpl.updateAll(WindowManagerData.java:285)
        at
org.netbeans.core.windows.layers.WindowManagerData$InstanceCookieImpl.loadDataSection(WindowManagerData.java:705)
        - locked <02DE0B18> (a java.lang.Object)
        at
org.netbeans.core.windows.WindowManagerImpl.ensureSectionLoaded(WindowManagerImpl.java:696)
        at
org.netbeans.core.windows.WindowManagerImpl.getCurrentWorkspace(WindowManagerImpl.java:542)
        at
org.netbeans.core.windows.MainWindow$3.run(MainWindow.java:216)
        at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
        at
java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
        at
java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

Found 1 deadlock.
Comment 1 David Simonek 2002-10-16 16:02:33 UTC
fixed in main trunk, WindowManagerImpl 1.150 - 1.151
Comment 2 pzajac 2002-10-23 10:43:05 UTC
verified