I have recently built C::B from the sources (SVN revision 7406) on my Ubuntu 10.04 x86-64 box and launched C::B under monitoring of ThreadSanitizer (
http://code.google.com/p/data-race-test/), a data race detector built upon Valgrind on Linux.
I have performed all the steps Zanzicas described. C::B hung when I tried to open an external .c file while the project "sample1" was loaded. The project and the ThreadSanitizer logs are in the attached archives.
In cb_logs.7z, "terminal" subdirectory contains the commands I ran to launch ThreadSanitizer and C::B as well as the log output of the latter. ThreadSanitizer logs are in "tsan" subdirectory.
Logs #01 correspond to the creation of the project "sample1".
Logs #02 - doing the steps Zanzicas described while ThreadSanitizer was running in pure happens-before mode (possibly less false positives but may have missed some races).
Logs #03 - similar to #02 but ThreadSanitizer was running in hybrid mode (possibly more false positives but more races can be detected).
The logs show some possible races that involve code completion component. Perhaps, they are worth looking at.
Those complaining at g_slice_* might be benign races or false positives, or something else, these probably do not need so much attention now.
I hope this will help identify and fix the problems.
P.S. I do not observe these hangs in rev.7257 I currently use for my daily work, but I have not tested this revision with data race detection tools yet, only rev.7406.
[attachment deleted by admin]