Skip to content

clangd crashes on c++ modules involved project. #82180

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
paveltrpn opened this issue Feb 18, 2024 · 2 comments
Open

clangd crashes on c++ modules involved project. #82180

paveltrpn opened this issue Feb 18, 2024 · 2 comments
Labels
clangd crash Prefer [crash-on-valid] or [crash-on-invalid]

Comments

@paveltrpn
Copy link

paveltrpn commented Feb 18, 2024

I build a recent clang 18.1.0rc boundle, and it have broke my neovim editing pipeline - clangd crashes on startup on c++ modules based project. On old plain source/header pipeline everything works fine. Previous build based on bab01ae works quite fine.

clangd version 18.1.0rc (https://github.com/llvm/llvm-project.git 82e17c1)

" #0 0x000055741b579f62 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/bin/clangd+0x800f62)\n
#1 0x000055741b576f8b SignalHandler(int) Signals.cpp:0:0\n
#2 0x00007f8d1f642990 (/lib/x86_64-linux-gnu/libc.so.6+0x42990)\n
#3 0x000055741d74e8d7 clang::ASTReader::DecodeIdentifierInfo(unsigned int) (/usr/local/bin/clangd+0x29d58d7)\n #4 0x000055741d75fd85 clang::ASTRecordReader::readNestedNameSpecifierLoc() (/usr/local/bin/clangd+0x29e6d85)\n
#5 0x000055741d76016e clang::TypeLocReader::VisitElaboratedTypeLoc(clang::ElaboratedTypeLoc) (/usr/local/bin/clangd+0x29e716e)\n
#6 0x000055741d767846 clang::ASTRecordReader::readTypeLoc(clang::TypeLoc, clang::SourceLocationSequence*) (/usr/local/bin/clangd+0x29ee846)\n
#7 0x000055741d7a7e5e clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2ee5e)\n
#8 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#9 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#10 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#11 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#12 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#13 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#14 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#15 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#16 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#17 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#18 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#19 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#20 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#21 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#22 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#23 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#24 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#25 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#26 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#27 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#28 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#29 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#30 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#31 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#32 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#33 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#34 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#35 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#36 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#37 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#38 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#39 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#40 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#41 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#42 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#43 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#44 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#45 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#46 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#47 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#48 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#49 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#50 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#51 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#52 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#53 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#54 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#55 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#56 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#57 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#58 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#59 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#60 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#61 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#62 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#63 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#64 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#65 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#66 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#67 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#68 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#69 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#70 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#71 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#72 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#73 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#74 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#75 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#76 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#77 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#78 0x000055741d7a60e6 clang::ASTDeclReader::Visi"
"tFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#79 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#80 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#81 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#82 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#83 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#84 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#85 0x000055741d6fcb73 clang::ASTReader::GetDecl(unsigned int) (.part.0) ASTReader.cpp:0:0\n
#86 0x000055741d737015 clang::ASTReader::InitializeSema(clang::Sema&) (/usr/local/bin/clangd+0x29be015)\n
#87 0x000055741bf49021 clang::Sema::Initialize() (/usr/local/bin/clangd+0x11d0021)\n
#88 0x000055741d844281 clang::Parser::Initialize() (/usr/local/bin/clangd+0x2acb281)\n
#89 0x000055741d842103 clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/bin/clangd+0x2ac9103)\n
#90 0x000055741d4807d9 clang::FrontendAction::Execute() (/usr/local/bin/clangd+0x27077d9)\n
#91 0x000055741c9003cb clang::clangd::ParsedAST::build(llvm::StringRef, clang::clangd::ParseInputs const&, std::unique_ptr<clang::CompilerInvocation, std::default_deleteclang::CompilerInvocation>, llvm::ArrayRefclang::clangd::Diag, std::shared_ptr<clang::clangd::PreambleData const>) (/usr/local/bin/clangd+0x1b873cb)\n
#92 0x000055741c9834b9 clang::clangd::(anonymous namespace)::ASTWorker::generateDiagnostics(std::unique_ptr<clang::CompilerInvocation, std::default_deleteclang::CompilerInvocation>, clang::clangd::ParseInputs, std::vector<clang::clangd::Diag, std::allocatorclang::clangd::Diag>) TUScheduler.cpp:0:0\n
#93 0x000055741c9840a2 clang::clangd::(anonymous namespace)::ASTWorker::updatePreamble(std::unique_ptr<clang::CompilerInvocation, std::default_deleteclang::CompilerInvocation>, clang::clangd::ParseInputs, std::shared_ptr<clang::clangd::PreambleData const>, std::vector<clang::clangd::Diag, std::allocatorclang::clangd::Diag>, clang::clangd::WantDiagnostics)::'lambda'()::operator()() TUScheduler.cpp:0:0\n
#94 0x000055741c97b5da clang::clangd::(anonymous namespace)::ASTWorker::runTask(llvm::StringRef, llvm::function_ref<void ()>) (.constprop.0) TUScheduler.cpp:0:0\n
#95 0x000055741c97be25 clang::clangd::(anonymous namespace)::ASTWorker::run() TUScheduler.cpp:0:0\n
#96 0x000055741cb41957 void* llvm::thread::ThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::'lambda0'()>>(void*) Threading.cpp:0:0\n
#97 0x00007f8d1f697b5a start_thread ./nptl/pthread_create.c:444:8\n
#98 0x00007f8d1f7285fc clone3 ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:80:0\nSignalled during AST worker action: Build AST\n Filename: /mnt/main_disk/code/tiny-render/geometry/Basics.cpp\n Directory: /mnt/main_disk/code/tiny-render/build\n Command Line: /usr/local/bin/clang++ --driver-mode=g++ -I/mnt/main_disk/code/tiny-render/../extern_libs/libjpeg/include -I/mnt/main_disk/code/tiny-render/../extern_libs/libtga/include -I/mnt/main_disk/code/tiny-render/../extern_libs/glfw/include -I/mnt/main_disk/code/tiny-render/../extern_libs/glew/include -I/mnt/main_disk/code/tiny-render/../extern_libs/json/include -std=c++23 -g -O0 -Wall -Wextra -Wpedantic -stdlib=libc++ -Wno-unused-parameter -x c++-module -fmodule-output=CMakeFiles/geometry.dir/geometry-Basics.pcm -fmodule-file=toy_std=CMakeFiles/toy_std.dir/toy_std.pcm -fmodule-file=toy_std.algebra=CMakeFiles/toy_std.dir/toy_std.algebra.pcm -fmodule-file=toy_std.algebra:matrix=CMakeFiles/toy_std.dir/toy_std.algebra-matrix.pcm -fmodule-file=toy_std.algebra:quaternion=CMakeFiles/toy_std.dir/toy_std.algebra-quaternion.pcm -fmodule-file=toy_std.algebra:vector=CMakeFiles/toy_std.dir/toy_std.algebra-vector.pcm -fmodule-file=toy_std.algorithm=CMakeFiles/toy_std.dir/toy_std.algorithm.pcm -fmodule-file=toy_std.array=CMakeFiles/toy_std.dir/toy_std.array.pcm -fmodule-file=toy_std.concepts=CMakeFiles/toy_std.dir/toy_std.concepts.pcm -fmodule-file=toy_std.iterator_traits=CMakeFiles/toy_std.dir/toy_std.iterator_traits.pcm -fmodule-file=toy_std.raw_list=CMakeFiles/toy_std.dir/toy_std.raw_list.pcm -fmodule-file=toy_std.raw_vector=CMakeFiles/toy_std.dir/toy_std.raw_vector.pcm -fmodule-file=toy_std.stack=CMakeFiles/toy_std.dir/toy_std.stack.pcm -fmodule-file=toy_std.vector=CMakeFiles/toy_std.dir/toy_std.vector.pcm -o CMakeFiles/geometry.dir/geometry/Basics.cpp.o -c -resource-dir=/usr/local/lib/clang/18 -- /mnt/main_disk/code/tiny-render/geometry/Basics.cpp\n Version: 0\n"

@EugeneZelenko EugeneZelenko added clangd crash Prefer [crash-on-valid] or [crash-on-invalid] and removed new issue labels Feb 18, 2024
@llvmbot
Copy link
Member

llvmbot commented Feb 18, 2024

@llvm/issue-subscribers-clangd

Author: Pavel (paveltrpn)

I build a recent clang 18.1.0rc boundle, and it have broke my neovim editing pipeline - clangd crashes on startup on c++ modules based project. On old plain source/header pipeline everything works fine. Previous build based on bab01ae works quite fine.

clangd version 18.1.0rc (https://github.com/llvm/llvm-project.git 82e17c1)

" #0 0x000055741b579f62 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/bin/clangd+0x800f62)\n
#1 0x000055741b576f8b SignalHandler(int) Signals.cpp:0:0\n
#2 0x00007f8d1f642990 (/lib/x86_64-linux-gnu/libc.so.6+0x42990)\n
#3 0x000055741d74e8d7 clang::ASTReader::DecodeIdentifierInfo(unsigned int) (/usr/local/bin/clangd+0x29d58d7)\n #4 0x000055741d75fd85 clang::ASTRecordReader::readNestedNameSpecifierLoc() (/usr/local/bin/clangd+0x29e6d85)\n
#5 0x000055741d76016e clang::TypeLocReader::VisitElaboratedTypeLoc(clang::ElaboratedTypeLoc) (/usr/local/bin/clangd+0x29e716e)\n
#6 0x000055741d767846 clang::ASTRecordReader::readTypeLoc(clang::TypeLoc, clang::SourceLocationSequence*) (/usr/local/bin/clangd+0x29ee846)\n
#7 0x000055741d7a7e5e clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2ee5e)\n
#8 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#9 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#10 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#11 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#12 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#13 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#14 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#15 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#16 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#17 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#18 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#19 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#20 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#21 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#22 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#23 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#24 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#25 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#26 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#27 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#28 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#29 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#30 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#31 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#32 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#33 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#34 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#35 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#36 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#37 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#38 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#39 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#40 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#41 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#42 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#43 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#44 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#45 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#46 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#47 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#48 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#49 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#50 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#51 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#52 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#53 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#54 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#55 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#56 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#57 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#58 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#59 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#60 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#61 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#62 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#63 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#64 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#65 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#66 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#67 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#68 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#69 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#70 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#71 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#72 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#73 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#74 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#75 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#76 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#77 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#78 0x000055741d7a60e6 clang::ASTDeclReader::Visi"
"tFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#79 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#80 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#81 0x000055741d738862 clang::ASTReader::GetDecl(unsigned int) (/usr/local/bin/clangd+0x29bf862)\n
#82 0x000055741d7a60e6 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/usr/local/bin/clangd+0x2a2d0e6)\n
#83 0x000055741d7a7df5 clang::ASTDeclReader::Visit(clang::Decl*) (/usr/local/bin/clangd+0x2a2edf5)\n
#84 0x000055741d7a8925 clang::ASTReader::ReadDeclRecord(unsigned int) (/usr/local/bin/clangd+0x2a2f925)\n
#85 0x000055741d6fcb73 clang::ASTReader::GetDecl(unsigned int) (.part.0) ASTReader.cpp:0:0\n
#86 0x000055741d737015 clang::ASTReader::InitializeSema(clang::Sema&) (/usr/local/bin/clangd+0x29be015)\n
#87 0x000055741bf49021 clang::Sema::Initialize() (/usr/local/bin/clangd+0x11d0021)\n
#88 0x000055741d844281 clang::Parser::Initialize() (/usr/local/bin/clangd+0x2acb281)\n
#89 0x000055741d842103 clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/bin/clangd+0x2ac9103)\n
#90 0x000055741d4807d9 clang::FrontendAction::Execute() (/usr/local/bin/clangd+0x27077d9)\n
#91 0x000055741c9003cb clang::clangd::ParsedAST::build(llvm::StringRef, clang::clangd::ParseInputs const&, std::unique_ptr<clang::CompilerInvocation, std::default_delete<clang::CompilerInvocation>>, llvm::ArrayRef<clang::clangd::Diag>, std::shared_ptr<clang::clangd::PreambleData const>) (/usr/local/bin/clangd+0x1b873cb)\n
#92 0x000055741c9834b9 clang::clangd::(anonymous namespace)::ASTWorker::generateDiagnostics(std::unique_ptr<clang::CompilerInvocation, std::default_delete<clang::CompilerInvocation>>, clang::clangd::ParseInputs, std::vector<clang::clangd::Diag, std::allocator<clang::clangd::Diag>>) TUScheduler.cpp:0:0\n
#93 0x000055741c9840a2 clang::clangd::(anonymous namespace)::ASTWorker::updatePreamble(std::unique_ptr<clang::CompilerInvocation, std::default_delete<clang::CompilerInvocation>>, clang::clangd::ParseInputs, std::shared_ptr<clang::clangd::PreambleData const>, std::vector<clang::clangd::Diag, std::allocator<clang::clangd::Diag>>, clang::clangd::WantDiagnostics)::'lambda'()::operator()() TUScheduler.cpp:0:0\n
#94 0x000055741c97b5da clang::clangd::(anonymous namespace)::ASTWorker::runTask(llvm::StringRef, llvm::function_ref<void ()>) (.constprop.0) TUScheduler.cpp:0:0\n
#95 0x000055741c97be25 clang::clangd::(anonymous namespace)::ASTWorker::run() TUScheduler.cpp:0:0\n
#96 0x000055741cb41957 void* llvm::thread::ThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::'lambda0'()>>(void*) Threading.cpp:0:0\n
#97 0x00007f8d1f697b5a start_thread ./nptl/pthread_create.c:444:8\n
#98 0x00007f8d1f7285fc clone3 ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:80:0\nSignalled during AST worker action: Build AST\n Filename: /mnt/main_disk/code/tiny-render/geometry/Basics.cpp\n Directory: /mnt/main_disk/code/tiny-render/build\n Command Line: /usr/local/bin/clang++ --driver-mode=g++ -I/mnt/main_disk/code/tiny-render/../extern_libs/libjpeg/include -I/mnt/main_disk/code/tiny-render/../extern_libs/libtga/include -I/mnt/main_disk/code/tiny-render/../extern_libs/glfw/include -I/mnt/main_disk/code/tiny-render/../extern_libs/glew/include -I/mnt/main_disk/code/tiny-render/../extern_libs/json/include -std=c++23 -g -O0 -Wall -Wextra -Wpedantic -stdlib=libc++ -Wno-unused-parameter -x c++-module -fmodule-output=CMakeFiles/geometry.dir/geometry-Basics.pcm -fmodule-file=toy_std=CMakeFiles/toy_std.dir/toy_std.pcm -fmodule-file=toy_std.algebra=CMakeFiles/toy_std.dir/toy_std.algebra.pcm -fmodule-file=toy_std.algebra:matrix=CMakeFiles/toy_std.dir/toy_std.algebra-matrix.pcm -fmodule-file=toy_std.algebra:quaternion=CMakeFiles/toy_std.dir/toy_std.algebra-quaternion.pcm -fmodule-file=toy_std.algebra:vector=CMakeFiles/toy_std.dir/toy_std.algebra-vector.pcm -fmodule-file=toy_std.algorithm=CMakeFiles/toy_std.dir/toy_std.algorithm.pcm -fmodule-file=toy_std.array=CMakeFiles/toy_std.dir/toy_std.array.pcm -fmodule-file=toy_std.concepts=CMakeFiles/toy_std.dir/toy_std.concepts.pcm -fmodule-file=toy_std.iterator_traits=CMakeFiles/toy_std.dir/toy_std.iterator_traits.pcm -fmodule-file=toy_std.raw_list=CMakeFiles/toy_std.dir/toy_std.raw_list.pcm -fmodule-file=toy_std.raw_vector=CMakeFiles/toy_std.dir/toy_std.raw_vector.pcm -fmodule-file=toy_std.stack=CMakeFiles/toy_std.dir/toy_std.stack.pcm -fmodule-file=toy_std.vector=CMakeFiles/toy_std.dir/toy_std.vector.pcm -o CMakeFiles/geometry.dir/geometry/Basics.cpp.o -c -resource-dir=/usr/local/lib/clang/18 -- /mnt/main_disk/code/tiny-render/geometry/Basics.cpp\n Version: 0\n"

@d-hain
Copy link

d-hain commented Jul 8, 2024

Also happening for me on version 18.1.3 (c13b748)
Code itself works when compiling with clang++ version 16.06 (15~deb12u1)

Maybe also related to #97688

Neovim Lsp crash log:

[START][2024-07-08 23:13:46] LSP logging initiated
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"The flag `-inlay-hints` is obsolete and ignored.\nI[23:13:48.236] clangd version 18.1.3 (https://github.com/llvm/llvm-project c13b7485b87909fcf739f62cfa382b55407433c0)\nI[23:13:48.236] Features: linux+grpc\nI[23:13:48.236] PID: 185785\nI[23:13:48.236] Working directory: /home/dhain/NAS-David/Programming/BobsTD\nI[23:13:48.236] argv[0]: /home/dhain/.local/share/nvim/mason/bin/clangd\nI[23:13:48.236] argv[1]: --pch-storage=memory\nI[23:13:48.236] argv[2]: --completion-style=detailed\nI[23:13:48.236] argv[3]: --header-insertion=never\nI[23:13:48.236] argv[4]: --background-index\nI[23:13:48.236] argv[5]: --all-scopes-completion\nI[23:13:48.236] argv[6]: --header-insertion-decorators\nI[23:13:48.236] argv[7]: --function-arg-placeholders\nI[23:13:48.236] argv[8]: --inlay-hints\nI[23:13:48.236] argv[9]: --pretty\nI[23:13:48.236] Starting LSP over stdin/stdout\nI[23:13:48.237] <-- initialize(1)\nI[23:13:48.238] --> reply:initialize(1) 1 ms\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.724] <-- initialized\nI[23:13:48.724] <-- textDocument/didOpen\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.726] Loaded compilation database from /home/dhain/NAS-David/Programming/BobsTD/compile_commands.json\nI[23:13:48.726] --> window/workDoneProgress/create(0)\nI[23:13:48.726] Enqueueing 2 commands for indexing\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.726] ASTWorker building file /home/dhain/NAS-David/Programming/BobsTD/src/main.cpp version 0 with command \n[/home/dhain/NAS-David/Programming/BobsTD/build]\n/usr/lib/llvm-16/bin/clang++-16 --driver-mode=g++ -c -Wall -Wextra -Werror -Wpedantic -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-language-extension-token -Wno-missing-braces -std=c++20 -stdlib=libc++ -fmodules -fbuiltin-module-map -fprebuilt-module-path=. -resource-dir=/home/dhain/.local/share/nvim/mason/packages/clangd/clangd_18.1.3/lib/clang/18 -- /home/dhain/NAS-David/Programming/BobsTD/src/main.cpp\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.732] <-- textDocument/semanticTokens/full(2)\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.732] <-- reply(0)\nI[23:13:48.732] --> $/progress\nI[23:13:48.732] --> $/progress\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.738] Built preamble of size 224084 for file /home/dhain/NAS-David/Programming/BobsTD/src/main.cpp version 0 in 0.01 seconds\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.739] --> workspace/semanticTokens/refresh(1)\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.741] Indexing c++20 standard library in the context of /home/dhain/NAS-David/Programming/BobsTD/src/main.cpp\nI[23:13:48.743] --> $/progress\nI[23:13:48.743] --> $/progress\nI[23:13:48.743] --> $/progress\nI[23:13:48.743] --> $/progress\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.763] <-- $/cancelRequest\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.763] <-- textDocument/semanticTokens/full(3)\nI[23:13:48.763] <-- reply(1)\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.765] <-- textDocument/documentHighlight(4)\n"
[ERROR][2024-07-08 23:13:48] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:48.842] <-- textDocument/signatureHelp(5)\n"
[ERROR][2024-07-08 23:13:50] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:50.326] Indexed c++20 standard library (incomplete due to errors): 1144 symbols, 1028 filtered\n"
[ERROR][2024-07-08 23:13:51] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:51.393] --> textDocument/publishDiagnostics\n"
[ERROR][2024-07-08 23:13:51] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"I[23:13:51.394] --> reply:textDocument/semanticTokens/full(2) 2661 ms, error: Task was cancelled.\nI[23:13:51.394] --> reply:textDocument/semanticTokens/full(3) 2630 ms\nI[23:13:51.394] --> reply:textDocument/documentHighlight(4) 2628 ms\n"
[ERROR][2024-07-08 23:13:51] .../vim/lsp/rpc.lua:734	"rpc"	"/home/dhain/.local/share/nvim/mason/bin/clangd"	"stderr"	"PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.\nStack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):\n0  clangd    0x00000000004f680b\n1  clangd    0x00000000004f464e\n2  clangd    0x00000000004f7196\n3  libc.so.6 0x00007fbb04e8a1a0\n4  clangd    0x000000000051a4a9\n5  clangd    0x0000000001e4aac7\n6  clangd    0x0000000001ee5764\n7  clangd    0x0000000001e4ee67\n8  clangd    0x0000000001e5a52f\n9  clangd    0x0000000000517033\n10 clangd    0x00000000005170f4\n11 clangd    0x000000000051710a\n12 libc.so.6 0x00007fbb04ed632c\n13 libc.so.6 0x00007fbb04f574c8\n"

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
clangd crash Prefer [crash-on-valid] or [crash-on-invalid]
Projects
None yet
Development

No branches or pull requests

4 participants