[PATCH] D159363: [clangd] SIGSEGV at clangd: DiagnosticConsumer Is Used After Free
    Ivan Murashko via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Sep  1 10:49:23 PDT 2023
    
    
  
ivanmurashko added inline comments.
================
Comment at: clang-tools-extra/clangd/Preamble.cpp:709
       Ctx->setStatCache(Result->StatCache);
+      // We have to setup DiagnosticConsumer that will be alife
+      // while preamble callback is executed
----------------
sammccall wrote:
> I think this should go up next to PreambleDiagsEngine.reset() etc, as it's basically the same thing: we're trying to avoid any race between the async work done by the callback and the cleanup at the end of the function.
> 
> Also I think it's slightly clearer for us to consistently be taking the diagnostics from PreambleDiagnostics *after* it's detached from the compiler.
I applied the change
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D159363/new/
https://reviews.llvm.org/D159363
    
    
More information about the llvm-commits
mailing list