Closed
Description
I'm getting the following crash when feeding clangd a compile_commands.json
file generated for a esp32 cross-compilation build (not sure if it's relevant, the expected behaviour is still not to crash, regardless of the build parameters):
I[15:00:10.610] <-- textDocument/documentHighlight(14)
V[15:00:10.906] <<< {"id":15,"jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[]},"range":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/build/src/main.cpp"}}}
I[15:00:10.906] <-- textDocument/codeAction(15)
clangd: /var/tmp/portage/sys-devel/clang-19.0.0.9999/work/clang/lib/Serialization/ASTWriterDecl.cpp:1886: void clang::ASTDeclWriter::VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl*): Assertion `(bool)TC == D->hasTypeConstraint()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. <eof> parser at end of file
1. /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/stl_iterator.h:2676:34: serializing '_It2'
#0 0x00007f0f9e7adb75 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm/19/bin/../lib64/libLLVM.so.19.0git7a935089+0x11c7b75)
#1 0x00007f0f9e7aaeaf llvm::sys::RunSignalHandlers() (/usr/lib/llvm/19/bin/../lib64/libLLVM.so.19.0git7a935089+0x11c4eaf)
#2 0x00007f0f9e7ab036 (/usr/lib/llvm/19/bin/../lib64/libLLVM.so.19.0git7a935089+0x11c5036)
#3 0x00007f0f9d09d960 (/lib64/libc.so.6+0x3c960)
#4 0x00007f0f9d0ef26c (/lib64/libc.so.6+0x8e26c)
#5 0x00007f0f9d09d8b6 raise (/lib64/libc.so.6+0x3c8b6)
#6 0x00007f0f9d0858b7 abort (/lib64/libc.so.6+0x248b7)
#7 0x00007f0f9d0857db (/lib64/libc.so.6+0x247db)
#8 0x00007f0f9d095eb6 (/lib64/libc.so.6+0x34eb6)
#9 0x00007f0faaa2dc44 clang::ASTDeclWriter::VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl*) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33b3c44)
#10 0x00007f0faaa34453 clang::ASTDeclWriter::Visit(clang::Decl*) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33ba453)
#11 0x00007f0faaa34891 clang::ASTWriter::WriteDecl(clang::ASTContext&, clang::Decl*) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33ba891)
#12 0x00007f0faaa20762 clang::ASTWriter::WriteDeclAndTypes(clang::ASTContext&) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33a6762)
#13 0x00007f0faaa21725 clang::ASTWriter::WriteASTCore(clang::Sema&, llvm::StringRef, clang::Module*) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33a7725)
#14 0x00007f0faaa2276d clang::ASTWriter::WriteAST(clang::Sema&, llvm::StringRef, clang::Module*, llvm::StringRef, bool) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33a876d)
#15 0x00007f0faaa46c96 clang::PCHGenerator::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x33ccc96)
#16 0x00007f0faabdf202 (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x3565202)
#17 0x00007f0fa84862b5 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0xe0c2b5)
#18 0x00007f0faab98e39 clang::FrontendAction::Execute() (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x351ee39)
#19 0x00007f0faabddd48 clang::PrecompiledPreamble::Build(clang::CompilerInvocation const&, llvm::MemoryBuffer const*, clang::PreambleBounds, clang::DiagnosticsEngine&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::shared_ptr<clang::PCHContainerOperations>, bool, llvm::StringRef, clang::PreambleCallbacks&) (/usr/lib/llvm/19/bin/../lib64/libclang-cpp.so.19.0git7a935089+0x3563d48)
#20 0x00005652bbe2662a (/usr/lib/llvm/19/bin/clangd+0x51662a)
#21 0x00005652bbeb4ce9 (/usr/lib/llvm/19/bin/clangd+0x5a4ce9)
#22 0x00005652bbeb56f5 (/usr/lib/llvm/19/bin/clangd+0x5a56f5)
#23 0x00005652bc090d70 (/usr/lib/llvm/19/bin/clangd+0x780d70)
#24 0x00007f0f9d0ed551 (/lib64/libc.so.6+0x8c551)
#25 0x00007f0f9d15b92c (/lib64/libc.so.6+0xfa92c)
Signalled while building preamble
Filename: /home/build/src/main.cpp
Directory: /home/build/src/build-esp32-s2
Command Line: /home/build/.espressif/tools/xtensa-esp32s2-elf/esp-12.2.0_20230208/xtensa-esp32s2-elf/bin/xtensa-esp32s2-elf-g++ --driver-mode=g++ -DGPIO_NUM_22=GPIO_NUM_MAX -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE <include paths truncated> -mlongcalls -g -fdiagnostics-color=always -std=gnu++17 -fcoroutines -fconcepts -std=c++23 -o CMakeFiles/blink.elf.dir/src/main.cpp.obj -c -resource-dir=/usr/lib/llvm/19/bin/../../../../lib/clang/19 -- /home/build/src/main.cpp
clangd version 19.0.0git7a935089
Features: linux+debug
Platform: x86_64-pc-linux-gnu