[cfe-users] Deadlock issues with multithreaded use of libclang on windows
Michael Steinberg via cfe-users
cfe-users at lists.llvm.org
Sat Jul 28 04:28:02 PDT 2018
I'm attempting to use a libclang-based language server in vscode for
cross compiling projects. This language server is working multithreaded
and I'm experiencing deadlocks which seem to come frome a race
condition, e.g. when I use a debug build of libclang they happen less
frequently presumably because the ratio of time spent parsing sources
and time spent starting/stopping threads changes and makes it less
likely to hit the condition.
Whenever I do hit the deadlock, I observed there are two threads around
that are related to clang querying a visual studio installation for
platform specifics ("libclang.dll!findVCToolChainViaSetupConfig").
Here is a dump of all the stack traces in such a situation:
Now my question is two-fold:
- Since I am cross compiling with a gcc, I don't really need clang to
query microsoft platform stuff. If there was a way to suppress these
queries, my hope is that the deadlocks disappear. Is there a way to
- Are you aware of ways for me to get more detailed information on the
deadlock situation with the VS.community debugger? I could not easily
find information on which locks the OS exactly tried to get, only that
it tried to get *some* lock by the calls visible in the stack traces. Is
there something built-in and readily available to debug such situations
that I missed?
Any help sorting this out is highly appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-users