https://bugs.kde.org/show_bug.cgi?id=358787
ms...@fastmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ms...@fastmail.com --- Comment #4 from ms...@fastmail.com --- This has occurred on my machine and it appears rather clear the culprit after having done some investigation. The following locking events should make it apparent: ClangParseJob thread: 1. In ClangParseJob::run, ParseSession constructor is invoked which locks on the corresponding parse session. 2. ClangParseInfo::run then invokes ClangHelpers::buildDUChain which then invokes DUChainWriteLocker constructor. ClangCodeCompletion thread: 1. In ClangCodeCompletionWorker::run, DUChainReadLocker constructor is invoked. 2. ClangCodeCompletionWorker::run then invokes createCompletionContext which invokes ClangCodeCompletionContext constructor which then invokes ParseSesssion constructor on the same parse session in ClangParseJob 1. Consequently, ClangCodeCompletion thread could hold a readlock on DUChain while ClangParseJob could hold a lock on the parse session while they both need simultaneous access to both resources. -- You are receiving this mail because: You are watching all bug changes.