Bug 73091 - Deadlock during cvs update
Deadlock during cvs update
Status: RESOLVED FIXED
Product: java
Classification: Unclassified
Component: Unsupported
5.x
All All
: P2 (vote)
: 6.x
Assigned To: issues@java
issues@java
SPRINT_IDE
: THREAD
: 73959 76198 79170 83630 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-02-28 10:59 UTC by phamernik
Modified: 2007-09-26 09:14 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
:


Attachments
Full thread dump (19.47 KB, text/plain)
2006-02-28 11:00 UTC, phamernik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description phamernik 2006-02-28 10:59:58 UTC
I was updating cvs and got the deadlock. Please reassign to other module, if it
is not problem of openide.
Comment 1 phamernik 2006-02-28 11:00:55 UTC
Created attachment 29047 [details]
Full thread dump
Comment 2 Jaroslav Tulach 2006-03-06 15:55:29 UTC
The reason for the deadlock seems to be conflict between folder recognizer and 
mdr lock. I am not fully sure, but imho the "Java Node State Updater" holds 
access to MDR and waits for folder recognizer to finish. The folder recognizer 
is them blocked by waiting for access to MDR. 
 
I may be wrong, but I think that the fix could be to call the lookup from  
org.netbeans.api.java.classpath.ClassPath.getClassPath 
outside of holding MDR locks. 
 
Comment 3 Tomas Zezula 2006-03-31 10:58:00 UTC
The call only goes through the classpath API. As Jarda pointed the deadlock is
among folder update and javacore. The right fix is described above also by Jarda.
Comment 4 Jan Becicka 2006-03-31 11:34:35 UTC
*** Issue 73959 has been marked as a duplicate of this issue. ***
Comment 5 Jan Becicka 2006-03-31 11:48:43 UTC
It is not possible to implement Jarda's fix. Javacore is not the module which
holds the MDR lock - it is held by java module's JavaNode.
Is the folder recognizer lock somewhere documented?
Comment 6 Jan Becicka 2006-05-04 14:34:42 UTC
Honzo, can you take a look at it? Thanks
Comment 7 Jan Pokorsky 2006-06-13 15:52:15 UTC
IMO Jarda is right. JavaNode has to call JavaModel.setClassPath inside MDR
transaction. At least JMManager.setClassPath comments mention this.

This is not just case of JavaNode. Try Find Usages on
JavaModel.setClassPath(FileObject).
Comment 8 Jan Becicka 2006-06-14 09:19:40 UTC
The fix on javacore side will require complex changes and it is too risky for 5.5. 
Comment 9 Jan Becicka 2006-06-14 09:22:48 UTC
*** Issue 76198 has been marked as a duplicate of this issue. ***
Comment 10 Jan Pokorsky 2006-06-28 12:55:58 UTC
*** Issue 79170 has been marked as a duplicate of this issue. ***
Comment 11 Lukas Hasik 2006-07-11 12:50:12 UTC
adding keyword from duplicate issue
Comment 12 Jan Becicka 2006-08-29 09:49:18 UTC
*** Issue 83630 has been marked as a duplicate of this issue. ***
Comment 13 Jan Becicka 2006-10-26 16:27:53 UTC
Javacore module was replaced by Retouche infrastructure. This bug is not valid
in trunk any more.
Comment 14 Quality Engineering 2007-09-20 12:47:35 UTC
Reorganization of java component


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo