https://bugs.kde.org/show_bug.cgi?id=392336

--- Comment #3 from Milian Wolff <m...@milianw.de> ---
The problem really is that the built-in crash "recovery" in llvm/clang is not
bullet-proof. While it catches the crash signal to output this message, the
data afterwards can be corrupt and crash outside of the "guarded"/"recoverable"
parse thread. At that point, we just crash completely.

To fix this, we'll have to patch llvm/clang. What version of that are you
using? If this crash is easily reproducible with your project, that can help in
finding a patch to fix it.

To workaround this in KDevelop, we'll have to pull of a huge refactoring to
only access libclang from an external helper process. This is not easy to do at
all, and would require quite some work. Still, since we are all affected by
this just like you, I actually wonder if we can pull it off... Eventually :)

And to answer your question, in theory you could just run the command_line_args
(join the array, remove the single quotes). But if it's not crashing then
(which I guess won't happen), then it's probably due to how we use libclang vs.
how clang itself works. I.e. we concurrently access the Index in libclang,
which should be OK from an API pov. But clang itself is not multithreaded.
Similarly, we run parse jobs on multiple TUs, whereas clang runs it only on one
TU at a time.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to