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 246218 - Deadlock
Summary: Deadlock
Status: RESOLVED DUPLICATE of bug 231104
Alias: None
Product: platform
Classification: Unclassified
Component: Actions (show other bugs)
Version: 8.0
Hardware: PC Other
: P3 normal (vote)
Assignee: Jan Peska
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-03 14:02 UTC by schulte2004
Modified: 2015-03-04 08:52 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
IDE deadlock detection output. (29.39 KB, text/plain)
2014-08-03 14:06 UTC, schulte2004
Details

Note You need to log in before you can comment on or make changes to this bug.
Description schulte2004 2014-08-03 14:02:45 UTC
During working with the IDE a deadlock occured.

Name: org.netbeans.modules.java.navigation.ClassMemberPanelUI
State: BLOCKED on java.awt.Component$AWTTreeLock@5a717626 owned by: AWT-EventQueue-0
Total blocked: 5  Total waited: 3

Stack trace: 
java.awt.KeyboardFocusManager.clearMostRecentFocusOwner(KeyboardFocusManager.java:1823)
java.awt.Component.disable(Component.java:1506)
javax.swing.JComponent.disable(JComponent.java:3634)
java.awt.Component.enable(Component.java:1495)
java.awt.Component.setEnabled(Component.java:1458)
javax.swing.JComponent.setEnabled(JComponent.java:2676)
javax.swing.AbstractButton.setEnabled(AbstractButton.java:2087)
javax.swing.JMenuItem.setEnabled(JMenuItem.java:311)
org.openide.awt.Actions$MenuBridge.updateState(Actions.java:1234)
org.openide.awt.Actions$Bridge.propertyChange(Actions.java:932)
org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:197)
java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:303)
org.openide.util.actions.NodeAction$DelegateAction.resultChanged(NodeAction.java:616)
sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:461)
com.sun.proxy.$Proxy5.resultChanged(Unknown Source)
org.openide.util.lookup.SimpleProxyLookup.checkLookup(SimpleProxyLookup.java:114)
org.openide.util.lookup.SimpleProxyLookup.access$200(SimpleProxyLookup.java:61)
org.openide.util.lookup.SimpleProxyLookup$ProxyResult.checkResult(SimpleProxyLookup.java:188)
org.openide.util.lookup.SimpleProxyLookup$ProxyResult.beforeLookup(SimpleProxyLookup.java:279)
org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:676)
org.openide.util.lookup.ProxyLookup$R.beforeLookup(ProxyLookup.java:689)
org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:676)
org.openide.util.lookup.ProxyLookup$R.computeResult(ProxyLookup.java:549)
org.openide.util.lookup.ProxyLookup$R.allInstances(ProxyLookup.java:509)
org.openide.util.lookup.ProxyLookup$R.allInstances(ProxyLookup.java:505)
org.openide.util.actions.NodeAction$DelegateAction.nodes(NodeAction.java:573)
   - locked org.openide.util.actions.CookieAction$CookieDelegateAction@201942d0
org.openide.util.actions.CookieAction$CookieDelegateAction.resultChanged(CookieAction.java:345)
sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:461)
com.sun.proxy.$Proxy5.resultChanged(Unknown Source)
org.openide.util.lookup.AbstractLookup$NotifyListeners.run(AbstractLookup.java:542)
org.openide.util.lookup.AbstractLookup.notifyIn(AbstractLookup.java:314)
org.openide.util.lookup.AbstractLookup.removePairImpl(AbstractLookup.java:288)
org.openide.util.lookup.AbstractLookup.removePair(AbstractLookup.java:271)
org.openide.util.lookup.AbstractLookup$Content.removePair(AbstractLookup.java:1294)
org.openide.util.lookup.InstanceContent.remove(InstanceContent.java:116)
org.netbeans.modules.java.navigation.ClassMemberPanelUI$7.run(ClassMemberPanelUI.java:776)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1423)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

Name: AWT-EventQueue-0
State: BLOCKED on org.openide.util.actions.CookieAction$CookieDelegateAction@201942d0 owned by: org.netbeans.modules.java.navigation.ClassMemberPanelUI
Total blocked: 76.268  Total waited: 2.688.216

Stack trace: 
org.openide.util.actions.NodeAction$DelegateAction.nodes(NodeAction.java:572)
org.openide.util.actions.CookieAction$CookieDelegateAction.resultChanged(CookieAction.java:345)
sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:461)
com.sun.proxy.$Proxy5.resultChanged(Unknown Source)
org.openide.util.lookup.ProxyLookup$1Notify.run(ProxyLookup.java:180)
org.openide.util.lookup.ProxyLookup.setLookups(ProxyLookup.java:189)
org.openide.util.lookup.ProxyLookup.setLookups(ProxyLookup.java:125)
org.openide.explorer.DefaultEMLookup.updateLookups(DefaultEMLookup.java:134)
org.openide.explorer.DefaultEMLookup.propertyChange(DefaultEMLookup.java:166)
org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:197)
java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
org.openide.explorer.ExplorerManager$2.run(ExplorerManager.java:886)
org.openide.util.Mutex.doEvent(Mutex.java:1356)
org.openide.util.Mutex.readAccess(Mutex.java:355)
org.openide.explorer.ExplorerManager.fireInAWT(ExplorerManager.java:883)
org.openide.explorer.ExplorerManager$1AtomicSetSelectedNodes.fire(ExplorerManager.java:292)
org.openide.explorer.ExplorerManager.setSelectedNodes(ExplorerManager.java:303)
org.openide.explorer.view.BeanTreeView.selectionChanged(BeanTreeView.java:152)
org.openide.explorer.view.TreeView.callSelectionChanged(TreeView.java:849)
org.openide.explorer.view.TreeView$TreePropertyListener.valueChanged(TreeView.java:1453)
javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:634)
javax.swing.tree.DefaultTreeSelectionModel.clearSelection(DefaultTreeSelectionModel.java:576)
javax.swing.tree.FixedHeightLayoutCache.rebuild(FixedHeightLayoutCache.java:624)
javax.swing.tree.FixedHeightLayoutCache.treeStructureChanged(FixedHeightLayoutCache.java:489)
javax.swing.plaf.basic.BasicTreeUI$Handler.treeStructureChanged(BasicTreeUI.java:3920)
javax.swing.tree.DefaultTreeModel.fireTreeStructureChanged(DefaultTreeModel.java:580)
javax.swing.tree.DefaultTreeModel.nodeStructureChanged(DefaultTreeModel.java:365)
javax.swing.tree.DefaultTreeModel.setRoot(DefaultTreeModel.java:135)
org.openide.explorer.view.NodeTreeModel$1.run(NodeTreeModel.java:123)
org.openide.util.Mutex.doEvent(Mutex.java:1356)
org.openide.util.Mutex.readAccess(Mutex.java:355)
org.openide.explorer.view.NodeTreeModel.setNode(NodeTreeModel.java:108)
org.openide.explorer.view.TreeView$4.run(TreeView.java:872)
org.openide.util.Mutex.doEvent(Mutex.java:1356)
org.openide.util.Mutex.readAccess(Mutex.java:355)
org.openide.explorer.view.TreeView.synchronizeRootContext(TreeView.java:862)
org.openide.explorer.view.TreeView.lookupExplorerManager(TreeView.java:700)
org.openide.explorer.view.TreeView.addNotify(TreeView.java:680)
java.awt.Container.addNotify(Container.java:2769)
   - locked java.awt.Component$AWTTreeLock@5a717626
javax.swing.JComponent.addNotify(JComponent.java:4741)
java.awt.Container.addImpl(Container.java:1114)
   - locked java.awt.Component$AWTTreeLock@5a717626
java.awt.Container.add(Container.java:966)
org.netbeans.modules.navigator.NavigatorTC.setSelectedPanel(NavigatorTC.java:220)
org.netbeans.modules.navigator.NavigatorTC.setPanels(NavigatorTC.java:288)
org.netbeans.modules.navigator.NavigatorController.showProviders(NavigatorController.java:509)
org.netbeans.modules.navigator.NavigatorController.access$400(NavigatorController.java:101)
org.netbeans.modules.navigator.NavigatorController$1$1.run(NavigatorController.java:419)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
java.awt.EventQueue.access$200(EventQueue.java:103)
java.awt.EventQueue$3.run(EventQueue.java:694)
java.awt.EventQueue$3.run(EventQueue.java:692)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Comment 1 schulte2004 2014-08-03 14:06:54 UTC
Created attachment 148494 [details]
IDE deadlock detection output.
Comment 2 Tomas Zezula 2014-08-04 16:04:51 UTC
The org.openide.awt.Actions$MenuBridge.updateState(Actions.java:1234) does calls JMenuItem.setEnabled outside EDT.
Comment 3 Ondrej Vrabec 2015-03-04 08:52:46 UTC
fixed as bug 231104, org.openide.util.actions.NodeAction$DelegateAction.resultChanged(NodeAction.java:616) now passes the event forward in EDT only.

*** This bug has been marked as a duplicate of bug 231104 ***