llvm / llvm/llvm-project

clangd crash on stdexec project

Open
#191,361 9 comments 0 reactions 0 assignees View on GitHub
clangd concepts crash regression:22
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

I added stdexec to my project and clangd starts crashing if it goes through its symbols.

I figured out how to reproduce it without any of my code.
1. Clone stdexec repo https://github.com/NVIDIA/stdexec
2. Configure it with CMake. It has a clangd helper witch automatically add CMAKE_EXPORT_COMPILE_COMMANDS and create symlink to compile_commands.json into repo root directory. Ensure it is. It also provides .clangd config file.
3. Open project in editor with clangd. I'm using Zed with the following options
```json
"lsp": {
"clangd": {
"binary": {
"arguments": [
"--header-insertion=never",
"--query-driver=**"
]
}
}
}
```
But it looks like it does not depend on my options.
4. Open one of the files e.g `examples/hello_coro.cpp`
5. Try to modify the file and format it with cland's clang-format.
6. After a few seconds clangd is crashed with logs:

Crash log

```
I[13:09:44.095] <-- textDocument/codeAction(15)
I[13:09:44.099] ASTWorker building file /home/bartolomey/projects/stdexec/examples/hello_coro.cpp version 1 with command
[/home/bartolomey/projects/stdexec/build]
/usr/bin/clang++ --driver-mode=g++ -isystem /home/bartolomey/projects/stdexec/include -isystem /home/bartolomey/projects/stdexec/build/include -O3 -DNDEBUG -std=gnu++20 -fcolor-diagnostics -Wall -Werror=unused-parameter -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -o examples/CMakeFiles/example.hello_coro.dir/hello_coro.cpp.o -c -DLIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -std=c++20 -DSTDEXEC_CLANGD_INVOKED -Wno-unused-local-typedef -isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1 -isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/x86_64-pc-linux-gnu -isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/backward -isystem /usr/local/include -isystem /usr/include --target=x86_64-pc-linux-gnu -resource-dir=/usr/lib/clang/22 -- /home/bartolomey/projects/stdexec/examples/hello_coro.cpp
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. /home/bartolomey/projects/stdexec/examples/hello_coro.cpp:42:58: current parser token ')'
1. /home/bartolomey/projects/stdexec/examples/hello_coro.cpp:41:1: parsing function body 'async_stop_token'
2. /home/bartolomey/projects/stdexec/examples/hello_coro.cpp:41:1: in compound statement ('{}')
#0 0x00007f7271b56aed llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/src/debug/llvm/llvm-project-22.1.1.src/llvm/lib/Support/Unix/Signals.inc:842:22
#1 0x00007f7271b53bc7 llvm::sys::RunSignalHandlers() /usr/src/debug/llvm/llvm-project-22.1.1.src/llvm/lib/Support/Signals.cpp:108:20
#2 0x00007f7271b53bc7 SignalHandler /usr/src/debug/llvm/llvm-project-22.1.1.src/llvm/lib/Support/Unix/Signals.inc:412:31
#3 0x00007f7270c4d2d0 (/usr/lib/libc.so.6+0x3e2d0)
#4 0x00007f727c74d012 clang::TemplateArgument::getKind() const /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/AST/TemplateBase.h:296:57
#5 0x00007f727c74d012 VisitTemplateArgument /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/StmtProfile.cpp:2511:28
#6 0x00007f727c74d0c7 VisitTemplateArgument /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/StmtProfile.cpp:2551:44
#7 0x00007f727c746a23 VisitConceptSpecializationExpr /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/StmtProfile.cpp:1713:62
#8 0x00007f727c746a23 Visit /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/StmtNodes.inc:506:1
#9 0x00007f727c74fabc clang::Stmt::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, bool, bool) const /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/StmtProfile.cpp:2922:1
#10 0x00007f727c7a0158 clang::FunctionProtoType::Profile(llvm::FoldingSetNodeID&, clang::QualType, clang::QualType const*, unsigned int, clang::FunctionProtoType::ExtProtoInfo const&, clang::ASTContext const&, bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/Type.cpp:3929:44
#11 0x00007f727be7994e llvm::FoldingSetImpl, clang::FunctionProtoType>::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&) /usr/include/llvm/ADT/FoldingSet.h:505:64
#12 0x00007f727be7994e clang::ASTContext::getFunctionTypeInternal(clang::QualType, llvm::ArrayRef, clang::FunctionProtoType::ExtProtoInfo const&, bool) const /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/ASTContext.cpp:4927:47
#13 0x00007f727e218132 llvm::SmallVectorTemplateCommon::isSmall() const /usr/include/llvm/ADT/SmallVector.h:145:39
#14 0x00007f727e218132 llvm::SmallVectorImpl::~SmallVectorImpl() /usr/include/llvm/ADT/SmallVector.h:606:23
#15 0x00007f727e218132 llvm::SmallVector::~SmallVector() /usr/include/llvm/ADT/SmallVector.h:1212:3
#16 0x00007f727e218132 clang::serialization::AbstractTypeReader::readFunctionProtoType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:479:3
#17 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#18 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#19 0x00007f727e2551c4 clang::ValueDecl::setType(clang::QualType) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/AST/Decl.h:724:45
#20 0x00007f727e2551c4 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:1040:16
#21 0x00007f727e255f5a clang::ASTDeclReader::VisitCXXMethodDecl(clang::CXXMethodDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:2311:34
#22 0x00007f727e258377 clang::ASTDeclReader::Visit(clang::Decl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:531:22
#23 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#24 0x00007f727e23693a clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:4268:39
#25 0x00007f727e1cf594 clang::ASTReader::GetDecl(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:8446:9
#26 0x00007f727e1ed2bc clang::serialization::AbstractTypeReader::readSubstTemplateTypeParmType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:683:22
#27 0x00007f727e1ed2bc clang::serialization::AbstractTypeReader::read(clang::Type::TypeClass) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:110:43
#28 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#29 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#30 0x00007f727e1ec37d clang::TemplateArgument::TemplateArgument(clang::QualType, bool, bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/AST/TemplateBase.h:198:17
#31 0x00007f727e1ec37d clang::serialization::BasicReaderBase::readTemplateArgument() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractBasicReader.inc:983:69
#32 0x00007f727e2423fc llvm::SmallVectorBase::size() const /usr/include/llvm/ADT/SmallVector.h:80:32
#33 0x00007f727e2423fc clang::TemplateArgument const* llvm::SmallVectorTemplateCommon::reserveForParamAndGetAddressImpl>(llvm::SmallVectorTemplateBase*, clang::TemplateArgument const&, unsigned long) /usr/include/llvm/ADT/SmallVector.h:237:32
#34 0x00007f727e2423fc llvm::SmallVectorTemplateBase::reserveForParamAndGetAddress(clang::TemplateArgument const&, unsigned long) /usr/include/llvm/ADT/SmallVector.h:533:50
#35 0x00007f727e2423fc llvm::SmallVectorTemplateBase::push_back(clang::TemplateArgument const&) /usr/include/llvm/ADT/SmallVector.h:565:51
#36 0x00007f727e2423fc clang::ASTDeclReader::VisitImplicitConceptSpecializationDecl(clang::ImplicitConceptSpecializationDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:2442:19
#37 0x00007f727e258377 clang::ASTDeclReader::Visit(clang::Decl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:531:22
#38 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#39 0x00007f727e23693a clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:4268:39
#40 0x00007f727e1cf594 clang::ASTReader::GetDecl(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:8446:9
#41 0x00007f727e26dc65 clang::ASTStmtReader::VisitConceptSpecializationExpr(clang::ConceptSpecializationExpr*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderStmt.cpp:838:7
#42 0x00007f727e26a6ed llvm::SimpleBitstreamCursor::GetCurrentBitNo() const /usr/include/llvm/Bitstream/BitstreamReader.h:119:30
#43 0x00007f727e26a6ed clang::ASTReader::ReadStmtFromStream(clang::serialization::ModuleFile&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderStmt.cpp:4555:41
#44 0x00007f727e2182ee clang::serialization::DataStreamBasicReader::readExceptionSpecInfo(llvm::SmallVectorImpl&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/AST/AbstractBasicReader.h:223:42
#45 0x00007f727e2182ee clang::serialization::AbstractTypeReader::readFunctionProtoType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:441:113
#46 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#47 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#48 0x00007f727e25b2b8 clang::ASTReader::readType(clang::serialization::ModuleFile&, llvm::SmallVector const&, unsigned int&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTReader.h:2121:24
#49 0x00007f727e25b2b8 clang::ASTRecordReader::readType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:175:28
#50 0x00007f727e25b2b8 clang::ASTStmtReader::VisitExpr(clang::Expr*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderStmt.cpp:554:13
#51 0x00007f727e25b95c clang::ASTStmtReader::VisitDeclRefExpr(clang::DeclRefExpr*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderStmt.cpp:620:32
#52 0x00007f727e26a6ed llvm::SimpleBitstreamCursor::GetCurrentBitNo() const /usr/include/llvm/Bitstream/BitstreamReader.h:119:30
#53 0x00007f727e26a6ed clang::ASTReader::ReadStmtFromStream(clang::serialization::ModuleFile&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderStmt.cpp:4555:41
#54 0x00007f727e1edf4f clang::serialization::AbstractTypeReader::readDecltypeType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:327:31
#55 0x00007f727e1edf4f clang::serialization::AbstractTypeReader::read(clang::Type::TypeClass) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:50:30
#56 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#57 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#58 0x00007f727e20ea3e clang::serialization::AbstractTypeReader::readTemplateSpecializationType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:753:45
#59 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#60 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#61 0x00007f727e1edf3b clang::ASTRecordReader::readType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:175:28
#62 0x00007f727e1edf3b clang::ASTRecordReader::readQualType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:178:20
#63 0x00007f727e1edf3b clang::serialization::AbstractTypeReader::readDecltypeType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:324:68
#64 0x00007f727e1edf3b clang::serialization::AbstractTypeReader::read(clang::Type::TypeClass) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:50:30
#65 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#66 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#67 0x00007f727e20ea3e clang::serialization::AbstractTypeReader::readTemplateSpecializationType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:753:45
#68 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#69 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#70 0x00007f727e20ea3e clang::serialization::AbstractTypeReader::readTemplateSpecializationType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:753:45
#71 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#72 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#73 0x00007f727e20f08a clang::ASTRecordReader::readTypeSourceInfo() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7650:12
#74 0x00007f727e24aae7 clang::ASTDeclReader::readTypeSourceInfo() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:181:74
#75 0x00007f727e24aae7 VisitTypedefNameDecl /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:709:45
#76 0x00007f727e24b057 clang::TypeAliasTemplateDecl* clang::ASTDeclReader::readDeclAs() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:189:50
#77 0x00007f727e24b057 clang::ASTDeclReader::VisitTypeAliasDecl(clang::TypeAliasDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:730:57
#78 0x00007f727e258377 clang::ASTDeclReader::Visit(clang::Decl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:531:22
#79 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#80 0x00007f727e23693a clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:4268:39
#81 0x00007f727e1cf594 clang::ASTReader::GetDecl(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:8446:9
#82 0x00007f727e1ecdfd clang::ASTReader::ReadDecl(clang::serialization::ModuleFile&, llvm::SmallVectorImpl const&, unsigned int&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTReader.h:2186:19
#83 0x00007f727e1ecdfd clang::ASTRecordReader::readDecl() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:189:28
#84 0x00007f727e1ecdfd clang::ASTRecordReader::readDeclRef() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:192:20
#85 0x00007f727e1ecdfd clang::serialization::AbstractTypeReader::readTypedefType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:791:58
#86 0x00007f727e1ecdfd clang::serialization::AbstractTypeReader::read(clang::Type::TypeClass) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:126:29
#87 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#88 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#89 0x00007f727e1edf3b clang::ASTRecordReader::readType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:175:28
#90 0x00007f727e1edf3b clang::ASTRecordReader::readQualType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTRecordReader.h:178:20
#91 0x00007f727e1edf3b clang::serialization::AbstractTypeReader::readDecltypeType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:324:68
#92 0x00007f727e1edf3b clang::serialization::AbstractTypeReader::read(clang::Type::TypeClass) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:50:30
#93 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#94 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#95 0x00007f727e20ea3e clang::serialization::AbstractTypeReader::readTemplateSpecializationType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:753:45
#96 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#97 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#98 0x00007f727e217ee1 clang::serialization::AbstractTypeReader::readFunctionProtoType() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/AbstractTypeReader.inc:452:21
#99 0x00007f727e1ee4da clang::ASTReader::readTypeRecord(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7242:25
#100 0x00007f727e1ee8eb clang::ASTReader::GetType(unsigned long) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:7976:22
#101 0x00007f727e2481c3 clang::ASTDeclReader::VisitDeclaratorDecl(clang::DeclaratorDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:912:24
#102 0x00007f727e254617 memcpy /usr/include/bits/string_fortified.h:29:33
#103 0x00007f727e254617 llvm::detail::PunnedPointer::asInt() const /usr/include/llvm/ADT/PointerIntPair.h:41:16
#104 0x00007f727e254617 llvm::detail::PunnedPointer::operator long() const /usr/include/llvm/ADT/PointerIntPair.h:45:53
#105 0x00007f727e254617 llvm::PointerIntPair, llvm::PointerIntPairInfo>>::getInt() const /usr/include/llvm/ADT/PointerIntPair.h:96:56
#106 0x00007f727e254617 llvm::CastInfo, void>::isPossible(llvm::PointerUnion&) /usr/include/llvm/ADT/PointerUnion.h:224:24
#107 0x00007f727e254617 llvm::ConstStrippingForwardingCast const, llvm::CastInfo, void>>::isPossible(llvm::PointerUnion const&) /usr/include/llvm/Support/Casting.h:396:33
#108 0x00007f727e254617 bool llvm::isa>(llvm::PointerUnion const&) /usr/include/llvm/Support/Casting.h:548:47
#109 0x00007f727e254617 clang::DeclaratorDecl::hasExtInfo() const /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/AST/Decl.h:795:50
#110 0x00007f727e254617 clang::DeclaratorDecl::getTypeSourceInfo() const /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/AST/Decl.h:810:22
#111 0x00007f727e254617 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:1030:28
#112 0x00007f727e255f5a clang::ASTDeclReader::VisitCXXMethodDecl(clang::CXXMethodDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:2311:34
#113 0x00007f727e258377 clang::ASTDeclReader::Visit(clang::Decl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:531:22
#114 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#115 0x00007f727e23693a clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReaderDecl.cpp:4268:39
#116 0x00007f727e1cf594 clang::ASTReader::GetDecl(clang::GlobalDeclID) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:8446:9
#117 0x00007f727e209316 clang::ASTReader::LoadExternalSpecializationsImpl(llvm::DenseMap, llvm::detail::DenseMapPair>&, clang::Decl const*, llvm::ArrayRef) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Serialization/ASTReader.cpp:8585:21
#118 0x00007f727e209548 non-virtual thunk to clang::ASTReader::LoadExternalSpecializations(clang::Decl const*, llvm::ArrayRef) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Serialization/ASTReader.h:2223:3
#119 0x00007f727c0e33bd clang::RedeclarableTemplateDecl::SpecEntryTraits::DeclType* clang::RedeclarableTemplateDecl::findSpecializationImpl>(llvm::FoldingSetVector>&, void*&, llvm::ArrayRef) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/DeclTemplate.cpp:404:3
#120 0x00007f727c0e33bd clang::FunctionTemplateDecl::findSpecialization(llvm::ArrayRef, void*&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/AST/DeclTemplate.cpp:484:32
#121 0x00007f727d4e9c9b clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3103:45
#122 0x00007f727d4eb730 operator() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4740:12
#123 0x00007f727d4eb730 callback_fn > /usr/include/llvm/ADT/STLFunctionalExtras.h:46:52
#124 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#125 0x00007f727d49343b llvm::SmallVectorTemplateCommon, void>::isSmall() const /usr/include/llvm/ADT/SmallVector.h:145:39
#126 0x00007f727d49343b llvm::SmallVectorImpl>::~SmallVectorImpl() /usr/include/llvm/ADT/SmallVector.h:606:23
#127 0x00007f727d49343b llvm::SmallVector, 1u>::~SmallVector() /usr/include/llvm/ADT/SmallVector.h:1212:3
#128 0x00007f727d49343b clang::TemplateDeclInstantiator::~TemplateDeclInstantiator() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Sema/Template.h:580:9
#129 0x00007f727d49343b clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4743:1
#130 0x00007f727d3bb5f4 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, bool, bool, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateDeduction.cpp:4008:18
#131 0x00007f727d3bc875 callback_fn, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, bool, clang::QualType, clang::Expr::Classification, bool, llvm::function_ref, bool)>):: > /usr/include/llvm/ADT/STLFunctionalExtras.h:47:40
#132 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#133 0x00007f727d39da07 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, bool, clang::QualType, clang::Expr::Classification, bool, llvm::function_ref, bool)>) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateDeduction.cpp:4734:10
#134 0x00007f727d1ff050 AddMethodTemplateCandidateImmediately /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:7984:3
#135 0x00007f727d2020a3 AddTemplateOverloadCandidate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:11330:1
#136 0x00007f727d2020a3 clang::OverloadCandidateSet::InjectNonDeducedTemplateCandidates(clang::Sema&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:11362:35
#137 0x00007f727d202101 clang::OverloadCandidateSet::BestViableFunction(clang::Sema&, clang::SourceLocation, clang::OverloadCandidate*&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:11455:1
#138 0x00007f727d21ad11 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:16551:59
#139 0x00007f727ce55ce1 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaExpr.cpp:6607:3
#140 0x00007f727d432d91 TransformCallExpr /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:13618:1
#141 0x00007f727d4260e3 TransformDecltypeType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:7044:3
#142 0x00007f727d4260e3 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/TypeNodes.inc:39:1
#143 0x00007f727d428ece TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5428:3
#144 0x00007f727d42a679 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5408:3
#145 0x00007f727d42ab3d clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:2806:32
#146 0x00007f727d326a00 clang::Sema::CheckTemplateIdType(clang::ElaboratedTypeKeyword, clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&, clang::Scope*, bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplate.cpp:3844:25
#147 0x00007f727d43dc11 TransformTemplateSpecializationType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:7631:3
#148 0x00007f727d4271d0 TransformTemplateSpecializationType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:1604:74
#149 0x00007f727d4271d0 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/TypeNodes.inc:79:1
#150 0x00007f727d428ece TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5428:3
#151 0x00007f727d42a679 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5408:3
#152 0x00007f727d42ab3d clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:2806:32
#153 0x00007f727d326a00 clang::Sema::CheckTemplateIdType(clang::ElaboratedTypeKeyword, clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&, clang::Scope*, bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplate.cpp:3844:25
#154 0x00007f727d43dc11 TransformTemplateSpecializationType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:7631:3
#155 0x00007f727d4271d0 TransformTemplateSpecializationType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:1604:74
#156 0x00007f727d4271d0 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/TypeNodes.inc:79:1
#157 0x00007f727d428ece TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5428:3
#158 0x00007f727d42a679 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5408:3
#159 0x00007f727d42ab3d clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:2806:32
#160 0x00007f727d326a00 clang::Sema::CheckTemplateIdType(clang::ElaboratedTypeKeyword, clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&, clang::Scope*, bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplate.cpp:3844:25
#161 0x00007f727d43dc11 TransformTemplateSpecializationType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:7631:3
#162 0x00007f727d4271d0 TransformTemplateSpecializationType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:1604:74
#163 0x00007f727d4271d0 TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/TypeNodes.inc:79:1
#164 0x00007f727d428ece TransformType /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:5428:3
#165 0x00007f727d43836d TransformTypeRequirement /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:2596:18
#166 0x00007f727d43836d TransformRequiresExprRequirements /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:1771:48
#167 0x00007f727d43836d TransformRequiresExpr /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:15214:53
#168 0x00007f727d41b25f TransformRequiresExpr /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:1745:61
#169 0x00007f727d41b25f TransformExpr /usr/src/debug/clang/llvm-project-22.1.1.src/clang/build/include/clang/AST/StmtNodes.inc:116:1
#170 0x00007f727d44fa01 llvm::DenseMap, llvm::detail::DenseMapPair>::deallocateBuckets() /usr/include/llvm/ADT/DenseMap.h:826:50
#171 0x00007f727d44fa01 llvm::DenseMap, llvm::detail::DenseMapPair>::~DenseMap() /usr/include/llvm/ADT/DenseMap.h:788:22
#172 0x00007f727d44fa01 ~TreeTransform /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/TreeTransform.h:122:7
#173 0x00007f727d44fa01 ~TemplateInstantiator /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:1272:9
#174 0x00007f727d44fa01 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:4341:1
#175 0x00007f727d44fa01 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:4333:1
#176 0x00007f727d44fa01 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateInstantiate.cpp:4359:19
#177 0x00007f727cc4b5b1 EvaluateAtomicConstraint /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:569:43
#178 0x00007f727cc4b5b1 EvaluateSlow /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:709:62
#179 0x00007f727cc4b5b1 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:793:30
#180 0x00007f727cc4cd8b Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1035:5
#181 0x00007f727cc4cd8b Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1035:5
#182 0x00007f727cc4ca30 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1105:3
#183 0x00007f727cc4ca30 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1137:20
#184 0x00007f727cc4c914 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1087:3
#185 0x00007f727cc4c914 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1137:20
#186 0x00007f727cc4c914 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1087:3
#187 0x00007f727cc4c914 Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1137:20
#188 0x00007f727cc4cd8b Evaluate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1035:5
#189 0x00007f727cc4fd87 CheckConstraintSatisfaction /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1202:3
#190 0x00007f727cc5048f clang::Sema::CheckConstraintSatisfaction(llvm::PointerUnion, llvm::ArrayRef, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&, clang::ConceptReference const*, clang::Expr**) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1261:3
#191 0x00007f727cc51467 clang::Sema::ContextRAII::pop() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Sema/Sema.h:3498:7
#192 0x00007f727cc51467 clang::Sema::ContextRAII::~ContextRAII() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Sema/Sema.h:3508:25
#193 0x00007f727cc51467 CheckFunctionConstraintsWithoutInstantiation /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1689:1
#194 0x00007f727cc51467 clang::Sema::CheckFunctionTemplateConstraints(clang::SourceLocation, clang::FunctionDecl*, llvm::ArrayRef, clang::ConstraintSatisfaction&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaConcept.cpp:1699:58
#195 0x00007f727d3bb3f0 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, bool, bool, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateDeduction.cpp:3981:5
#196 0x00007f727d3bc875 callback_fn, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, bool, clang::QualType, clang::Expr::Classification, bool, llvm::function_ref, bool)>):: > /usr/include/llvm/ADT/STLFunctionalExtras.h:47:40
#197 0x00007f727bacc795 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Basic/StackExhaustionHandler.cpp:21:1
#198 0x00007f727d39da07 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, bool, clang::QualType, clang::Expr::Classification, bool, llvm::function_ref, bool)>) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaTemplateDeduction.cpp:4734:10
#199 0x00007f727d1ff050 AddMethodTemplateCandidateImmediately /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:7984:3
#200 0x00007f727d2020a3 AddTemplateOverloadCandidate /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:11330:1
#201 0x00007f727d2020a3 clang::OverloadCandidateSet::InjectNonDeducedTemplateCandidates(clang::Sema&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:11362:35
#202 0x00007f727d202101 clang::OverloadCandidateSet::BestViableFunction(clang::Sema&, clang::SourceLocation, clang::OverloadCandidate*&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:11455:1
#203 0x00007f727d21ad11 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaOverload.cpp:16551:59
#204 0x00007f727ce55ce1 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Sema/SemaExpr.cpp:6607:3
#205 0x00007f727bd4fb05 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:1893:36
#206 0x00007f727bd48062 clang::Parser::ParseCastExpression(clang::CastParseKind, bool, bool&, clang::TypoCorrectionTypeBehavior, bool, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:1622:37
#207 0x00007f727bd4a89a clang::Parser::ParseCastExpression(clang::CastParseKind, bool, clang::TypoCorrectionTypeBehavior, bool, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:570:3
#208 0x00007f727bd49465 clang::Parser::ParseCastExpression(clang::CastParseKind, bool, bool&, clang::TypoCorrectionTypeBehavior, bool, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:1173:30
#209 0x00007f727bd4a89a clang::Parser::ParseCastExpression(clang::CastParseKind, bool, clang::TypoCorrectionTypeBehavior, bool, bool*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:570:3
#210 0x00007f727bd4aa92 clang::Parser::ParseAssignmentExpression(clang::TypoCorrectionTypeBehavior) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:92:36
#211 0x00007f727bd4ec35 clang::Parser::ParseExpression(clang::TypoCorrectionTypeBehavior) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseExpr.cpp:49:36
#212 0x00007f727bde9899 clang::Parser::ParseReturnStatement() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseStmt.cpp:2366:5
#213 0x00007f727bdedf9e clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::LabelDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseStmt.cpp:314:15
#214 0x00007f727bdef411 clang::Parser::MaybeDestroyTemplateIds() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Parse/Parser.h:7820:5
#215 0x00007f727bdef411 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::LabelDecl*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseStmt.cpp:81:26
#216 0x00007f727bdf0aea clang::ActionResult::isInvalid() const /usr/src/debug/clang/llvm-project-22.1.1.src/clang/include/clang/Sema/Ownership.h:200:44
#217 0x00007f727bdf0aea clang::Parser::ParseCompoundStatementBody(bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseStmt.cpp:1209:30
#218 0x00007f727bdf15da clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseStmt.cpp:2458:3
#219 0x00007f727be28005 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/Parser.cpp:1441:36
#220 0x00007f727bd12a41 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseDecl.cpp:2265:40
#221 0x00007f727be22510 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/Parser.cpp:1180:73
#222 0x00007f727be22d3d clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/Parser.cpp:1202:42
#223 0x00007f727be2be27 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/Parser.cpp:1030:50
#224 0x00007f727be2d137 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/Parser.cpp:743:36
#225 0x00007f727bcdaa5a clang::ParseAST(clang::Sema&, bool, bool) /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Parse/ParseAST.cpp:169:69
#226 0x00007f727e40d3ec clang::FrontendAction::Execute() /usr/src/debug/clang/llvm-project-22.1.1.src/clang/lib/Frontend/FrontendAction.cpp:1317:38
#227 0x000055983aafa3ac llvm::Error::getPtr() const /usr/include/llvm/Support/Error.h:281:12
#228 0x000055983aafa3ac llvm::Error::operator bool() /usr/include/llvm/Support/Error.h:241:22
#229 0x000055983aafa3ac clang::clangd::ParsedAST::build(llvm::StringRef, clang::clangd::ParseInputs const&, std::unique_ptr>, llvm::ArrayRef, std::shared_ptr) /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/ParsedAST.cpp:714:42
#230 0x000055983ab94fe7 std::unique_ptr>::~unique_ptr() /usr/include/c++/15.2.1/bits/unique_ptr.h:397:12
#231 0x000055983ab94fe7 generateDiagnostics /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/TUScheduler.cpp:1213:55
#232 0x000055983ab985b5 operator() /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/TUScheduler.cpp:957:26
#233 0x000055983ab8d23a runTask /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/TUScheduler.cpp:1328:1
#234 0x000055983ab8d64c std::__shared_ptr::__shared_ptr(std::__shared_ptr&&) /usr/include/c++/15.2.1/bits/shared_ptr_base.h:1539:20
#235 0x000055983ab8d64c std::shared_ptr::shared_ptr(std::shared_ptr&&) /usr/include/c++/15.2.1/bits/shared_ptr.h:359:41
#236 0x000055983ab8d64c clang::clangd::Context::Context(clang::clangd::Context&&) /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/support/Context.h:92:3
#237 0x000055983ab8d64c clang::clangd::WithContext::~WithContext() /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/support/Context.h:188:40
#238 0x000055983ab8d64c run /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/TUScheduler.cpp:1462:5
#239 0x000055983ad792c2 memcpy /usr/include/bits/string_fortified.h:29:33
#240 0x000055983ad792c2 llvm::detail::PunnedPointer::TrivialCallback*, llvm::detail::UniqueFunctionBase::NonTrivialCallbacks*>>::asInt() const /usr/include/llvm/ADT/PointerIntPair.h:41:16
#241 0x000055983ad792c2 llvm::detail::PunnedPointer::TrivialCallback*, llvm::detail::UniqueFunctionBase::NonTrivialCallbacks*>>::operator long() const /usr/include/llvm/ADT/PointerIntPair.h:45:53
#242 0x000055983ad792c2 llvm::PointerIntPair::TrivialCallback*, llvm::detail::UniqueFunctionBase::NonTrivialCallbacks*>, 1u, bool, llvm::PointerLikeTypeTraits::TrivialCallback*, llvm::detail::UniqueFunctionBase::NonTrivialCallbacks*>>, llvm::PointerIntPairInfo::TrivialCallback*, llvm::detail::UniqueFunctionBase::NonTrivialCallbacks*>, 1u, llvm::PointerLikeTypeTraits::TrivialCallback*, llvm::detail::UniqueFunctionBase::NonTrivialCallbacks*>>>>::getPointer() const /usr/include/llvm/ADT/PointerIntPair.h:94:57
#243 0x000055983ad792c2 llvm::detail::UniqueFunctionBase::~UniqueFunctionBase() /usr/include/llvm/ADT/FunctionExtras.h:274:42
#244 0x000055983ad792c2 llvm::detail::UniqueFunctionBase::operator=(llvm::detail::UniqueFunctionBase&&) /usr/include/llvm/ADT/FunctionExtras.h:328:30
#245 0x000055983ad792c2 llvm::unique_function::operator=(llvm::unique_function&&) /usr/include/llvm/ADT/FunctionExtras.h:352:20
#246 0x000055983ad792c2 operator() /usr/src/debug/clang/llvm-project-22.1.1.src/clang-tools-extra/clangd/support/Threading.cpp:103:14
#247 0x000055983ad792c2 operator())::&> /usr/include/llvm/Support/thread.h:46:16
#248 0x000055983ad792c2 __invoke_impl):: > >(void*)::, clang::clangd::AsyncTaskRunner::runAsync(const llvm::Twine&, llvm::unique_function)::&> /usr/include/c++/15.2.1/bits/invoke.h:63:36
#249 0x000055983ad792c2 __invoke):: > >(void*)::, clang::clangd::AsyncTaskRunner::runAsync(const llvm::Twine&, llvm::unique_function)::&> /usr/include/c++/15.2.1/bits/invoke.h:98:40
#250 0x000055983ad792c2 __apply_impl):: > >(void*)::, std::tuple):: >&, 0> /usr/include/c++/15.2.1/tuple:2920:27
#251 0x000055983ad792c2 apply):: > >(void*)::, std::tuple):: >&> /usr/include/c++/15.2.1/tuple:2935:31
#252 0x000055983ad792c2 GenericThreadProxy):: > > /usr/include/llvm/Support/thread.h:44:15
#253 0x000055983ad792c2 ThreadProxy):: > > /usr/include/llvm/Support/thread.h:58:36
#254 0x00007f7270ca597a start_thread /usr/src/debug/glibc/glibc/nptl/pthread_create.c:454:8
#255 0x00007f7270d292bc __GI___clone3 /usr/src/debug/glibc/glibc/misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:80:0
Signalled during AST worker action: Update
Filename: /home/bartolomey/projects/stdexec/examples/hello_coro.cpp
Directory: /home/bartolomey/projects/stdexec/build
Command Line: /usr/bin/clang++ --driver-mode=g++ -isystem /home/bartolomey/projects/stdexec/include -isystem /home/bartolomey/projects/stdexec/build/include -O3 -DNDEBUG -std=gnu++20 -fcolor-diagnostics -Wall -Werror=unused-parameter -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -o examples/CMakeFiles/example.hello_coro.dir/hello_coro.cpp.o -c -DLIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -std=c++20 -DSTDEXEC_CLANGD_INVOKED -Wno-unused-local-typedef -isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1 -isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/x86_64-pc-linux-gnu -isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../include/c++/15.2.1/backward -isystem /usr/local/include -isystem /usr/include --target=x86_64-pc-linux-gnu -resource-dir=/usr/lib/clang/22 -- /home/bartolomey/projects/stdexec/examples/hello_coro.cpp
Version: 1
```

It crushes with different logs but it's always
`Signalled during AST worker action:`

```sh
clangd --version
clangd version 22.1.1
Features: linux
Platform: x86_64-pc-linux-gnu
```
```sh
zeditor --version
Zed 0.227.1 – /usr/lib/zed/zed-editor
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the crash by configuring stdexec with CMake, opening examples/hello_coro.cpp in clangd, and formatting after an edit. Start with the stack trace around StmtProfile.cpp and ASTReader serialization paths, especially ConceptSpecializationExpr and readFunctionProtoType. Done means clangd remains running during this workflow and no crash report is produced.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
compilers, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.