-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed as duplicate of#132413
Copy link
Labels
clang:modulesC++20 modules and Clang Header ModulesC++20 modules and Clang Header ModulesclangdcrashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]duplicateResolved as duplicateResolved as duplicate
Description
Step to reproduce
- Configure your clangd to start by
clangd --experimental-modules-support. - Open a file with no corresponding
compile_commands.jsonfile. - Try start your clangd.
- And clangd will crash.
The crashing log of clangd
[ERROR][2025-11-19 14:36:27] ...p/_transport.lua:36 "rpc" "clangd" "stderr" "PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.\n #0 0x0000000000508e47 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /__w/clangd/clangd/llvm-project/llvm/lib/Support/Unix/Signals.inc:834:13\n #1 0x0000000000506885 llvm::sys::RunSignalHandlers() /__w/clangd/clangd/llvm-project/llvm/lib/Support/Signals.cpp:105:18\n #2 0x0000000000509daa SignalHandler(int, siginfo_t*, void*) /__w/clangd/clangd/llvm-project/llvm/lib/Support/Unix/Signals.inc:426:38\n #3 0x00007f3fb7b252c0 __restore_rt (/lib64/libc.so.6+0x1a2c0)\n #4 0x00000000015103ca clang::clangd::OverlayCDB::getProjectModules(llvm::StringRef) const /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:836:8\n #5 0x0000000001551f29 _M_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:154:42\n #6 0x0000000001551f29 get /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:361:21\n #7 0x0000000001551f29 operator bool /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:375:16\n #8 0x0000000001551f29 clang::clangd::ModulesBuilder::buildPrerequisiteModulesFor(llvm::StringRef, clang::clangd::ThreadsafeFS const&) /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/ModulesBuilder.cpp:560:8\n #9 0x0000000001584806 _M_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:154:42\n#10 0x0000000001584806 get /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:361:21\n#11 0x0000000001584806 release /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:383:16\n#12 0x0000000001584806 operator= /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:307:12\n#13 0x0000000001584806 clang::clangd::buildPreamble(llvm::StringRef, clang::CompilerInvocation, clang::clangd::ParseInputs const&, bool, std::function<void (clang::clangd::CapturedASTCtx, std::shared_ptr<clang::include_cleaner::PragmaIncludes const>)>, clang::clangd::PreambleBuildStats*) /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/Preamble.cpp:701:31\n#14 0x00000000015f6f1b clang::clangd::(anonymous namespace)::PreambleThread::build(clang::clangd::(anonymous namespace)::PreambleThread::Request) /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/TUScheduler.cpp:1089:17\n#15 0x00000000015f676f ~__shared_count /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:729:6\n#16 0x00000000015f676f ~__shared_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:1169:31\n#17 0x00000000015f676f ~Context /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Context.h:69:7\n#18 0x00000000015f676f ~Request /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/TUScheduler.cpp:556:10\n#19 0x00000000015f676f run /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/TUScheduler.cpp:513:9\n#20 0x00000000015f676f operator() /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/TUScheduler.cpp:828:55\n#21 0x00000000015f676f void llvm::detail::UniqueFunctionBase<void>::CallImpl<clang::clangd::(anonymous namespace)::ASTWorker::create(llvm::StringRef, clang::clangd::GlobalCompilationDatabase const&, clang::clangd::TUScheduler::ASTCache&, clang::clangd::TUScheduler::HeaderIncluderCache&, clang::clangd::AsyncTaskRunner*, clang::clangd::Semaphore&, clang::clangd::TUScheduler::Options const&, clang::clangd::ParsingCallbacks&)::$_10>(void*) /__w/clangd/clangd/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12\n#22 0x000000000176d626 operator= /__w/clangd/clangd/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:48:5\n#23 0x000000000176d626 PunnedPointer /__w/clangd/clangd/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:37:60\n#24 0x000000000176d626 PointerIntPair /__w/clangd/clangd/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:86:13\n#25 0x000000000176d626 UniqueFunctionBase /__w/clangd/clangd/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:343:3\n#26 0x000000000176d626 unique_function /__w/clangd/clangd/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:372:3\n#27 0x000000000176d626 operator() /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:103:14\n#28 0x000000000176d626 operator()<(lambda at /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:98:15) &> /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:46:11\n#29 0x000000000176d626 __invoke_impl<void, (lambda at /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:45:9), (lambda at /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:98:15) &> /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:60:14\n#30 0x000000000176d626 __invoke<(lambda at /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:45:9), (lambda at /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:98:15) &> /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:95:14\n#31 0x000000000176d626 __apply_impl<(lambda at /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:45:9), std::tuple<(lambda at /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:98:15)> &, 0> /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple:1684:14\n#32 0x000000000176d626 apply<(lambda at /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:45:9), std::tuple<(lambda at /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:98:15)> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple:1694:14\n#33 0x000000000176d626 GenericThreadProxy<std::tuple<(lambda at /__w/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:98:15)> > /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:44:5\n#34 0x000000000176d626 void* llvm::thread::ThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*) /__w/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:58:5\n#35 0x00007f3fb7b7d464 start_thread (/lib64/libc.so.6+0x72464)\n#36 0x00007f3fb7c005ac __GI___clone3 (/lib64/libc.so.6+0xf55ac)\nSignalled while building preamble\n Filename: a.cpp\n Directory: /home/shelpam\n Command Line: /usr/bin/clang -Wall -Wextra -Wpedantic -Wmisleading-indentation -Wunused -Wuninitialized -Wshadow -Wconversion -resource-dir=/home/shelpam/.local/share/nvim/mason/packages/clangd/clangd_21.1.0/lib/clang/21 -- /home/shelpam/a.cpp\n Version: 0\n"
JMazurkiewicz
Metadata
Metadata
Assignees
Labels
clang:modulesC++20 modules and Clang Header ModulesC++20 modules and Clang Header ModulesclangdcrashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]duplicateResolved as duplicateResolved as duplicate