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 70025 - Deadlock in ExclusiveMutex
Summary: Deadlock in ExclusiveMutex
Status: RESOLVED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Unsupported (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: Pavel Flaska
URL:
Keywords: RANDOM, THREAD
Depends on:
Blocks:
 
Reported: 2005-12-07 15:31 UTC by Jesse Glick
Modified: 2007-09-26 09:14 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Deadlock (19.06 KB, text/plain)
2005-12-07 15:31 UTC, Jesse Glick
Details
Some exceptions in log a few seconds before (4.68 KB, text/plain)
2005-12-07 15:32 UTC, Jesse Glick
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2005-12-07 15:31:03 UTC
051207, Mustang. Random deadlock after closing Navigator window and returning to
Java editor.
Comment 1 Jesse Glick 2005-12-07 15:31:21 UTC
Created attachment 27634 [details]
Deadlock
Comment 2 Jesse Glick 2005-12-07 15:32:17 UTC
Created attachment 27635 [details]
Some exceptions in log a few seconds before
Comment 3 Jesse Glick 2005-12-07 15:33:16 UTC
Exceptions look to be caused by experimental javausagesnavigator module, but
deadlock looks to be a logic problem in ExclusiveMutex - a bunch of threads are
trying to enter it but no thread appears to be actually in it, so it's not clear
what it's waiting for.
Comment 4 Jan Becicka 2005-12-07 15:52:59 UTC
Deadlock seems to be in mdr. 
- waiting to lock <0x835fd1e8> (a org.netbeans.mdr.NBMDRepositoryImpl$FacilityCache)
Comment 5 Pavel Flaska 2005-12-07 16:22:51 UTC
Element creation is done outside the transaction. That is invalid IMO. As the
code in javausagesnavigator does not run in MDR transaction, this problem
occured. (Otherwise, in explicit transaction, it should not occur.) Reassigning
back to java/javacore, where create* methods in proxy classes (MethodClassImpl,
JavaClassImpl, FieldClassImpl, EnumConstantImpl and other ones should be checked
they run under the correct lock.)
Comment 6 Tomas Hurka 2005-12-09 10:03:41 UTC
Deadlock fixed in trunk.
Checking in UsageFinder.java;
/cvs/java/javacore/src/org/netbeans/modules/javacore/jmiimpl/javamodel/UsageFinder.java,v  <--  
UsageFinder.java
new revision: 1.30; previous revision: 1.29
done
Comment 7 Quality Engineering 2007-09-20 11:49:47 UTC
Reorganization of java component