Open
Description
Create a file main.cxx
with the following content and open it using clangd-enabled code editor.
template<typename T,
int I,
template<typename> class TT>
class A; // ↑ [Go to type definition] at the `class` keyword
template<typename> class X;
A<int, 0, X> * a1;
Go to type definition at the token class
on the third line leads to a crash. The LSP request is
{
"jsonrpc": "2.0",
"id": 8,
"method": "textDocument/typeDefinition",
"params": {
"textDocument": {
"uri": "file:///tmp/export/input_120/workspace/main.cxx"
},
"position": {
"line": 2,
"character": 28
}
}
}
The stack trace is
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
#0 0x0000000005823eea ___interceptor_backtrace (/src/build/bin/clangd+0x5823eea)
#1 0x0000000005dfc7e7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /src/llvm/lib/Support/Unix/Signals.inc:799:13
#2 0x0000000005dfbbac llvm::sys::RunSignalHandlers() /src/llvm/lib/Support/Signals.cpp:0:5
#3 0x0000000005dfbbac SignalHandler(int) /src/llvm/lib/Support/Unix/Signals.inc:405:3
#4 0x00007fe049040730 __restore_rt (/lib64/libc.so.6+0x3e730)
#5 0x0000000009046f3e clang::Decl::getKind() const /src/clang/include/clang/AST/DeclBase.h:445:51
#6 0x0000000009046f3e clang::declvisitor::Base<llvm::make_const_ptr, clang::clangd::typeForNode(clang::clangd::SelectionTree::Node const*)::Visitor, clang::QualType>::Visit(clang::Decl const*) /src/clang/include/clang/AST/DeclVisitor.h:38:16
#7 0x0000000009046f3e clang::clangd::typeForNode(clang::clangd::SelectionTree::Node const*) /src/clang-tools-extra/clangd/XRefs.cpp:1930:14
#8 0x0000000009046f3e clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*)::$_0::operator()(clang::clangd::SelectionTree::Node const*) const /src/clang-tools-extra/clangd/XRefs.cpp:2073:48
#9 0x0000000009046f3e clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*)::$_1::operator()(clang::clangd::SelectionTree) const /src/clang-tools-extra/clangd/XRefs.cpp:2081:40
#10 0x0000000009046f3e bool llvm::function_ref<bool (clang::clangd::SelectionTree)>::callback_fn<clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*)::$_1>(long, clang::clangd::SelectionTree) /src/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#11 0x0000000008e2d76d llvm::function_ref<bool (clang::clangd::SelectionTree)>::operator()(clang::clangd::SelectionTree) const /src/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#12 0x0000000008e2d76d clang::clangd::SelectionTree::createEach(clang::ASTContext&, clang::syntax::TokenBuffer const&, unsigned int, unsigned int, llvm::function_ref<bool (clang::clangd::SelectionTree)>) /src/clang-tools-extra/clangd/Selection.cpp:1062:9
#13 0x000000000904607c clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*) /src/clang-tools-extra/clangd/XRefs.cpp:2079:3
#14 0x0000000008a52662 llvm::Expected<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>::Expected<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>(std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>&&, std::enable_if<std::is_convertible_v<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>, std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>, void>::type*) /src/llvm/include/llvm/Support/Error.h:524:9
#15 0x0000000008a52662 clang::clangd::ClangdServer::findType(llvm::StringRef, clang::clangd::Position, llvm::unique_function<void (llvm::Expected<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>)>)::$_0::operator()(llvm::Expected<clang::clangd::InputsAndAST>) /src/clang-tools-extra/clangd/ClangdServer.cpp:977:8
#16 0x0000000008a52662 void llvm::detail::UniqueFunctionBase<void, llvm::Expected<clang::clangd::InputsAndAST>>::CallImpl<clang::clangd::ClangdServer::findType(llvm::StringRef, clang::clangd::Position, llvm::unique_function<void (llvm::Expected<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>)>)::$_0>(void*, llvm::Expected<clang::clangd::InputsAndAST>&) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#17 0x0000000008f98ef3 llvm::Expected<clang::clangd::InputsAndAST>::~Expected() /src/llvm/include/llvm/Support/Error.h:563:10
#18 0x0000000008f98ef3 clang::clangd::(anonymous namespace)::ASTWorker::runWithAST(llvm::StringRef, llvm::unique_function<void (llvm::Expected<clang::clangd::InputsAndAST>)>, clang::clangd::TUScheduler::ASTActionInvalidation)::$_0::operator()() /src/clang-tools-extra/clangd/TUScheduler.cpp:1013:5
#19 0x0000000008f98ef3 void llvm::detail::UniqueFunctionBase<void>::CallImpl<clang::clangd::(anonymous namespace)::ASTWorker::runWithAST(llvm::StringRef, llvm::unique_function<void (llvm::Expected<clang::clangd::InputsAndAST>)>, clang::clangd::TUScheduler::ASTActionInvalidation)::$_0>(void*) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#20 0x0000000008fa6ea0 llvm::function_ref<void ()>::operator()() const /src/llvm/include/llvm/ADT/STLFunctionalExtras.h:0:12
#21 0x0000000008fa6ea0 clang::clangd::(anonymous namespace)::ASTWorker::runTask(llvm::StringRef, llvm::function_ref<void ()>) /src/clang-tools-extra/clangd/TUScheduler.cpp:1328:3
#22 0x0000000008fb0e11 clang::clangd::(anonymous namespace)::ASTWorker::run() /src/clang-tools-extra/clangd/TUScheduler.cpp:0:7
#23 0x0000000008fb0e11 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&)::$_0::operator()() const /src/clang-tools-extra/clangd/TUScheduler.cpp:826:42
#24 0x0000000008fb0e11 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&)::$_0>(void*) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#25 0x00000000092faab5 clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1::operator()() /src/clang-tools-extra/clangd/support/Threading.cpp:103:14
#26 0x00000000092faab5 auto void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...)::operator()<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&>(auto&&, auto&&...) const /src/llvm/include/llvm/Support/thread.h:43:11
#27 0x00000000092faab5 auto std::__invoke_impl<void, void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&>(std::__invoke_other, void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...)&&, clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:61:14
#28 0x00000000092faab5 std::__invoke_result<auto, auto...>::type std::__invoke<void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&>(auto&&, auto&&...) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:96:14
#29 0x00000000092faab5 decltype(auto) std::__apply_impl<void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&, 0ul>(auto&&, std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&, std::integer_sequence<unsigned long, 0ul>) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/tuple:2302:14
#30 0x00000000092faab5 decltype(auto) std::apply<void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&>(auto&&, std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/tuple:2313:14
#31 0x00000000092faab5 void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*) /src/llvm/include/llvm/Support/thread.h:41:5
#32 0x00000000092faab5 void* llvm::thread::ThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*) /src/llvm/include/llvm/Support/thread.h:55:5
#33 0x00000000058765dd asan_thread_start(void*) crtstuff.c:0:0
#34 0x00007fe04908b7e2 start_thread (/lib64/libc.so.6+0x897e2)
#35 0x00007fe049110800 __GI___clone3 (/lib64/libc.so.6+0x10e800)
Signalled during AST worker action: FindType
Filename: main.cxx
Directory: /tmp/export/input_120/workspace
Command Line: /usr/bin/clang -resource-dir=/src/build/lib/clang/20 -- /tmp/export/input_120/workspace/main.cxx
Version: 1
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3942==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000001c (pc 0x000009046f3e bp 0x7fdfabc70350 sp 0x7fdfabc70220 T130)
==3942==The signal is caused by a READ memory access.
==3942==Hint: address points to the zero page.
#0 0x9046f3e in clang::Decl::getKind() const /src/clang/include/clang/AST/DeclBase.h:445:51
#1 0x9046f3e in clang::declvisitor::Base<llvm::make_const_ptr, clang::clangd::typeForNode(clang::clangd::SelectionTree::Node const*)::Visitor, clang::QualType>::Visit(clang::Decl const*) /src/clang/include/clang/AST/DeclVisitor.h:38:16
#2 0x9046f3e in clang::clangd::typeForNode(clang::clangd::SelectionTree::Node const*) /src/clang-tools-extra/clangd/XRefs.cpp:1930:14
#3 0x9046f3e in clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*)::$_0::operator()(clang::clangd::SelectionTree::Node const*) const /src/clang-tools-extra/clangd/XRefs.cpp:2073:48
#4 0x9046f3e in clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*)::$_1::operator()(clang::clangd::SelectionTree) const /src/clang-tools-extra/clangd/XRefs.cpp:2081:40
#5 0x9046f3e in bool llvm::function_ref<bool (clang::clangd::SelectionTree)>::callback_fn<clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*)::$_1>(long, clang::clangd::SelectionTree) /src/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#6 0x8e2d76c in llvm::function_ref<bool (clang::clangd::SelectionTree)>::operator()(clang::clangd::SelectionTree) const /src/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#7 0x8e2d76c in clang::clangd::SelectionTree::createEach(clang::ASTContext&, clang::syntax::TokenBuffer const&, unsigned int, unsigned int, llvm::function_ref<bool (clang::clangd::SelectionTree)>) /src/clang-tools-extra/clangd/Selection.cpp:1062:9
#8 0x904607b in clang::clangd::findType(clang::clangd::ParsedAST&, clang::clangd::Position, clang::clangd::SymbolIndex const*) /src/clang-tools-extra/clangd/XRefs.cpp:2079:3
#9 0x8a52661 in clang::clangd::ClangdServer::findType(llvm::StringRef, clang::clangd::Position, llvm::unique_function<void (llvm::Expected<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>)>)::$_0::operator()(llvm::Expected<clang::clangd::InputsAndAST>) /src/clang-tools-extra/clangd/ClangdServer.cpp:977:8
#10 0x8a52661 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<clang::clangd::InputsAndAST>>::CallImpl<clang::clangd::ClangdServer::findType(llvm::StringRef, clang::clangd::Position, llvm::unique_function<void (llvm::Expected<std::vector<clang::clangd::LocatedSymbol, std::allocator<clang::clangd::LocatedSymbol>>>)>)::$_0>(void*, llvm::Expected<clang::clangd::InputsAndAST>&) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#11 0x8f98ef2 in llvm::unique_function<void (llvm::Expected<clang::clangd::InputsAndAST>)>::operator()(llvm::Expected<clang::clangd::InputsAndAST>) /src/llvm/include/llvm/ADT/FunctionExtras.h:387:12
#12 0x8f98ef2 in clang::clangd::(anonymous namespace)::ASTWorker::runWithAST(llvm::StringRef, llvm::unique_function<void (llvm::Expected<clang::clangd::InputsAndAST>)>, clang::clangd::TUScheduler::ASTActionInvalidation)::$_0::operator()() /src/clang-tools-extra/clangd/TUScheduler.cpp:1013:5
#13 0x8f98ef2 in void llvm::detail::UniqueFunctionBase<void>::CallImpl<clang::clangd::(anonymous namespace)::ASTWorker::runWithAST(llvm::StringRef, llvm::unique_function<void (llvm::Expected<clang::clangd::InputsAndAST>)>, clang::clangd::TUScheduler::ASTActionInvalidation)::$_0>(void*) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#14 0x8fa6e9f in llvm::function_ref<void ()>::operator()() const /src/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#15 0x8fa6e9f in clang::clangd::(anonymous namespace)::ASTWorker::runTask(llvm::StringRef, llvm::function_ref<void ()>) /src/clang-tools-extra/clangd/TUScheduler.cpp:1328:3
#16 0x8fb0e10 in clang::clangd::(anonymous namespace)::ASTWorker::run() /src/clang-tools-extra/clangd/TUScheduler.cpp:1462:7
#17 0x8fb0e10 in 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&)::$_0::operator()() const /src/clang-tools-extra/clangd/TUScheduler.cpp:826:42
#18 0x8fb0e10 in 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&)::$_0>(void*) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#19 0x92faab4 in llvm::unique_function<void ()>::operator()() /src/llvm/include/llvm/ADT/FunctionExtras.h:387:12
#20 0x92faab4 in clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1::operator()() /src/clang-tools-extra/clangd/support/Threading.cpp:101:5
#21 0x92faab4 in auto void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...)::operator()<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&>(auto&&, auto&&...) const /src/llvm/include/llvm/Support/thread.h:43:11
#22 0x92faab4 in auto std::__invoke_impl<void, void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&>(std::__invoke_other, void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...)&&, clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:61:14
#23 0x92faab4 in std::__invoke_result<auto, auto...>::type std::__invoke<void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&>(auto&&, auto&&...) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:96:14
#24 0x92faab4 in decltype(auto) std::__apply_impl<void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&, 0ul>(auto&&, std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&, std::integer_sequence<unsigned long, 0ul>) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/tuple:2302:14
#25 0x92faab4 in decltype(auto) std::apply<void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*)::'lambda'(auto&&, auto&&...), std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&>(auto&&, std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>&) /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/tuple:2313:14
#26 0x92faab4 in void llvm::thread::GenericThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*) /src/llvm/include/llvm/Support/thread.h:41:5
#27 0x92faab4 in void* llvm::thread::ThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>>(void*) /src/llvm/include/llvm/Support/thread.h:55:5
#28 0x58765dc in asan_thread_start(void*) crtstuff.c
#29 0x7fe04908b7e1 in start_thread (/lib64/libc.so.6+0x897e1) (BuildId: 7a40a22c9a82854f3d66767232ae364a99174860)
#30 0x7fe0491107ff in __GI___clone3 (/lib64/libc.so.6+0x10e7ff) (BuildId: 7a40a22c9a82854f3d66767232ae364a99174860)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /src/clang/include/clang/AST/DeclBase.h:445:51 in clang::Decl::getKind() const
Thread T130 created by T0 here:
#0 0x585fd95 in pthread_create (/src/build/bin/clangd+0x585fd95) (BuildId: c3ce5beed26c9a8a)
#1 0x5dfe568 in llvm::llvm_execute_on_thread_impl(void* (*)(void*), void*, std::optional<unsigned int>) /src/llvm/lib/Support/Unix/Threading.inc:96:17
#2 0x92fa751 in llvm::thread::thread<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1>(std::optional<unsigned int>, clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1&&) /src/llvm/include/llvm/Support/thread.h:131:12
#3 0x92fa751 in clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>) /src/clang-tools-extra/clangd/support/Threading.cpp:107:16
#4 0x8fb9f5b in 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&) /src/clang-tools-extra/clangd/TUScheduler.cpp:825:12
#5 0x8fb9f5b in clang::clangd::TUScheduler::update(llvm::StringRef, clang::clangd::ParseInputs, clang::clangd::WantDiagnostics) /src/clang-tools-extra/clangd/TUScheduler.cpp:1681:30
#6 0x8a8637e in clang::clangd::ClangdServer::addDocument(llvm::StringRef, llvm::StringRef, llvm::StringRef, clang::clangd::WantDiagnostics, bool) /src/clang-tools-extra/clangd/ClangdServer.cpp:316:33
#7 0x89d89f2 in clang::clangd::ClangdLSPServer::onDocumentDidOpen(clang::clangd::DidOpenTextDocumentParams const&) /src/clang-tools-extra/clangd/ClangdLSPServer.cpp:726:11
#8 0x8a1558f in void clang::clangd::LSPBinder::notification<clang::clangd::DidOpenTextDocumentParams, clang::clangd::ClangdLSPServer>(llvm::StringLiteral, clang::clangd::ClangdLSPServer*, void (clang::clangd::ClangdLSPServer::*)(clang::clangd::DidOpenTextDocumentParams const&))::'lambda'(llvm::json::Value)::operator()(llvm::json::Value) const /src/clang-tools-extra/clangd/LSPBinder.h:153:5
#9 0x8a1537e in void llvm::detail::UniqueFunctionBase<void, llvm::json::Value>::CallImpl<void clang::clangd::LSPBinder::notification<clang::clangd::DidOpenTextDocumentParams, clang::clangd::ClangdLSPServer>(llvm::StringLiteral, clang::clangd::ClangdLSPServer*, void (clang::clangd::ClangdLSPServer::*)(clang::clangd::DidOpenTextDocumentParams const&))::'lambda'(llvm::json::Value)>(void*, llvm::json::Value&) /src/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#10 0x8a3cc92 in llvm::unique_function<void (llvm::json::Value)>::operator()(llvm::json::Value) /src/llvm/include/llvm/ADT/FunctionExtras.h:387:12
#11 0x8a3cc92 in clang::clangd::ClangdLSPServer::MessageHandler::onNotify(llvm::StringRef, llvm::json::Value) /src/clang-tools-extra/clangd/ClangdLSPServer.cpp:219:7
#12 0x8d76cc7 in clang::clangd::(anonymous namespace)::JSONTransport::handleMessage(llvm::json::Value, clang::clangd::Transport::MessageHandler&) /src/clang-tools-extra/clangd/JSONTransport.cpp:195:18
#13 0x8d76cc7 in clang::clangd::(anonymous namespace)::JSONTransport::loop(clang::clangd::Transport::MessageHandler&) /src/clang-tools-extra/clangd/JSONTransport.cpp:119:16
#14 0x8a47cd9 in clang::clangd::ClangdLSPServer::run() /src/clang-tools-extra/clangd/ClangdLSPServer.cpp:1741:25
#15 0x88915c9 in clang::clangd::clangdMain(int, char**) /src/clang-tools-extra/clangd/tool/ClangdMain.cpp:1049:28
#16 0x7fe04902b5cf in __libc_start_call_main (/lib64/libc.so.6+0x295cf) (BuildId: 7a40a22c9a82854f3d66767232ae364a99174860)
==3942==ABORTING