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 91371

Summary: Complicated deadlock
Product: platform Reporter: Jesse Glick <jglick>
Component: ExplorerAssignee: Stanislav Aubrecht <saubrecht>
Status: RESOLVED FIXED    
Severity: blocker Keywords: RANDOM, THREAD
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Attachments: Thread dump

Description Jesse Glick 2006-12-20 21:04:03 UTC
061220, unreproducible, after trying to switch project group. There's a lot
going on here, but I think one problem is that
PropertySheet$SheetPCListener.propertyChange, called in response to a method in
Nodes API (Node.fireNameChange) which does not document any threading
restrictions, attempts to grab the AWT hierarchy lock even when not in EQ. The
deadlock then arises since the AWT hierarchy lock is being held (correctly) by
EQ, which cannot proceed because it is waiting (legitimately) for
Children.MUTEX, which is being held (I think legitimately) by another thread
waiting for ProjectManager.mutex, which is being held (again legitimately) by
the thread firing the name change.
Comment 1 Jesse Glick 2006-12-20 21:04:15 UTC
Created attachment 36857 [details]
Thread dump
Comment 2 Petr Nejedly 2007-03-26 09:34:33 UTC
The prop sheet is accessing (or trying to) AWT components from other thread.
Comment 3 Stanislav Aubrecht 2007-10-31 16:46:02 UTC
i wasn't able to reproduce but i've made sure the appropriate part of propertyChangeListener runs in EDT only