Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-core-dev] Deadlock accessing Build Info ?

Hi All,
 
I'm experiencing a deadlock when accessing Build Info for managed make C projects while the indexer is running.
I'm using CDT 3.1.1 with Eclipse 3.2.1 on Win XP.
 
I post the problem here before filing it as a Bug, in order to understand if it is really a Bug or if I'm doing something wrong.
I spent some time analysing the problem in the code and searching for information on newsgoup, mail acrhives and Bugs, but I was not able to find a solution.
 
The attached file shows involved thread stacks paused when the deadlock is on (restarting and pausing always lead to the same situation).
 
If the indexer is running, and some different thread attempt to access BuildInfo for the project the deadlock may appear.
 
I tryied to do all I was able to do in my code, starting from running all of my code in the same thread, or in synch or asynch runners/builders, ...
I tryied to use scheduling rules or immagined ways to synchronize the stuff, but I was not able to work the problem around.
All indexer Jobs synchronize to a private mutex (indexerJobMutex) in PDomManager. I was not able to find a way to get involved in such synchronization.
 
A similar problem was there in previous versions of CDT too. But in previous version I solved the problem by disabling indexing activity while my code was running (CCorePlugin.getDefault().getCoreModel().getIndexManager().disable()). In CDT 3.1 and 3.1.1 I'm not able to find support to disable the indexer.
 
Please let me know if I have to file this problem as a Bug and if there is a Workaround I may apply.
Maybe it is just some sort of big mistake and the solution is in front of my eyes.
 
many thanks
Tiz
 
 
 
 

Attachment: Build Info Deadlock.bmp
Description: Build Info Deadlock.bmp


Back to the top