I was updating cvs and got the deadlock. Please reassign to other module, if it
is not problem of openide.
Created attachment 29047 [details]
Full thread dump
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
outside of holding MDR locks.
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.
*** Issue 73959 has been marked as a duplicate of this issue. ***
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?
Honzo, can you take a look at it? Thanks
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
The fix on javacore side will require complex changes and it is too risky for 5.5.
*** Issue 76198 has been marked as a duplicate of this issue. ***
*** Issue 79170 has been marked as a duplicate of this issue. ***
adding keyword from duplicate issue
*** Issue 83630 has been marked as a duplicate of this issue. ***
Javacore module was replaced by Retouche infrastructure. This bug is not valid
in trunk any more.
Reorganization of java component