alexfh wrote:
Hi @cor3ntin , we've started seeing Clang crashes after this commit. They only
reproduce with our Clang header modules setup on a pretty large input.
Reduction has been crawling slowly, so I don't expect to get a nice little test
case soon (or ever). The crashes are sporadic, but reproduce more or less
consistently when clang is built with msan:
```
==4090==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x558de04647e5 in
clang::Sema::getNormalizedAssociatedConstraints(llvm::PointerUnion<clang::NamedDecl
const*, clang::concepts::NestedRequirement const*>,
llvm::ArrayRef<clang::AssociatedConstraint>)
third_party/llvm/llvm-project/clang/lib/Sema/SemaConcept.cpp:2413:1
#1 0x558de045b248 in CheckConstraintSatisfaction(clang::Sema&,
clang::NamedDecl const*, llvm::ArrayRef<clang::AssociatedConstraint>,
clang::MultiLevelTemplateArgumentList const&, clang::SourceRange,
clang::ConstraintSatisfaction&, clang::Expr**, clang::ConceptReference const*)
third_party/llvm/llvm-project/clang/lib/Sema/SemaConcept.cpp:1149:9
#2 0x558de045aa66 in
clang::Sema::CheckConstraintSatisfaction(llvm::PointerUnion<clang::NamedDecl
const*, clang::concepts::NestedRequirement const*>,
llvm::ArrayRef<clang::AssociatedConstraint>,
clang::MultiLevelTemplateArgumentList const&, clang::SourceRange,
clang::ConstraintSatisfaction&, clang::ConceptReference const*, clang::Expr**)
third_party/llvm/llvm-project/clang/lib/Sema/SemaConcept.cpp:1221:7
#3 0x558de046112e in CheckFunctionConstraintsWithoutInstantiation
third_party/llvm/llvm-project/clang/lib/Sema/SemaConcept.cpp:1670:18
#4 0x558de046112e in
clang::Sema::CheckFunctionTemplateConstraints(clang::SourceLocation,
clang::FunctionDecl*, llvm::ArrayRef<clang::TemplateArgument>,
clang::ConstraintSatisfaction&)
third_party/llvm/llvm-project/clang/lib/Sema/SemaConcept.cpp:1682:12
#5 0x558de151791e in
clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*,
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&,
llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, bool, bool,
llvm::function_ref<bool (bool)>)
third_party/llvm/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3995:9
#6 0x558de1600704 in operator()
third_party/llvm/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4736:14
#7 0x558de1600704 in void llvm::function_ref<void
()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*,
clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, bool,
clang::QualType, clang::Expr::Classification, bool, llvm::function_ref<bool
(llvm::ArrayRef<clang::QualType>, bool)>)::$_2>(long)
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#8 0x558de347d9cc in operator()
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#9 0x558de347d9cc in runWithSufficientStackSpace
third_party/llvm/llvm-project/clang/include/clang/Basic/Stack.h:49:7
#10 0x558de347d9cc in
clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>)
third_party/llvm/llvm-project/clang/lib/Basic/StackExhaustionHandler.cpp:20:3
#11 0x558de0154faf in
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>)
third_party/llvm/llvm-project/clang/lib/Sema/Sema.cpp:629:16
#12 0x558de1520980 in
clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*,
clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, bool,
clang::QualType, clang::Expr::Classification, bool, llvm::function_ref<bool
(llvm::ArrayRef<clang::QualType>, bool)>)
third_party/llvm/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4735:3
#13 0x558de11f5306 in AddTemplateOverloadCandidateImmediately(clang::Sema&,
clang::OverloadCandidateSet&, clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, bool, bool, bool, clang::CallExpr::ADLCallKind,
clang::OverloadCandidateParamOrder, bool)
third_party/llvm/llvm-project/clang/lib/Sema/SemaOverload.cpp:8012:42
#14 0x558de1217b63 in AddTemplateOverloadCandidate
third_party/llvm/llvm-project/clang/lib/Sema/SemaOverload.cpp:11242:3
#15 0x558de1217b63 in
clang::OverloadCandidateSet::InjectNonDeducedTemplateCandidates(clang::Sema&)
third_party/llvm/llvm-project/clang/lib/Sema/SemaOverload.cpp:11264:7
#16 0x558de11e67f7 in
clang::OverloadCandidateSet::BestViableFunction(clang::Sema&,
clang::SourceLocation, clang::OverloadCandidate*&)
third_party/llvm/llvm-project/clang/lib/Sema/SemaOverload.cpp:11360:3
#17 0x558de0df66ec in
clang::Sema::LookupSpecialMember(clang::CXXRecordDecl*,
clang::CXXSpecialMemberKind, bool, bool, bool, bool, bool)
third_party/llvm/llvm-project/clang/lib/Sema/SemaLookup.cpp:3578:15
#18 0x558de089cceb in lookupCallFromSpecialMember(clang::Sema&,
clang::CXXRecordDecl*, clang::CXXSpecialMemberKind, unsigned int, bool)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:7412:12
#19 0x558de081e4ff in findTrivialSpecialMember
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:10142:9
#20 0x558de081e4ff in checkTrivialSubobjectCall(clang::Sema&,
clang::SourceLocation, clang::QualType, bool, clang::CXXSpecialMemberKind,
TrivialSubobjectKind, clang::TrivialABIHandling, bool)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:10210:7
#21 0x558de08214b1 in checkTrivialClassMembers(clang::Sema&,
clang::CXXRecordDecl*, clang::CXXSpecialMemberKind, bool,
clang::TrivialABIHandling, bool)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:10292:10
#22 0x558de08207fe in
clang::Sema::SpecialMemberIsTrivial(clang::CXXMethodDecl*,
clang::CXXSpecialMemberKind, clang::TrivialABIHandling, bool)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:10419:8
#23 0x558de0825dc3 in
clang::Sema::DeclareImplicitMoveConstructor(clang::CXXRecordDecl*)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:16034:13
#24 0x558de0822aef in
clang::Sema::AddImplicitlyDeclaredMembersToClass(clang::CXXRecordDecl*)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:10817:9
#25 0x558de06945a2 in clang::Sema::ActOnFields(clang::Scope*,
clang::SourceLocation, clang::Decl*, llvm::ArrayRef<clang::Decl*>,
clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributesView
const&) third_party/llvm/llvm-project/clang/lib/Sema/SemaDecl.cpp:19889:7
#26 0x558de082259b in
clang::Sema::ActOnFinishCXXMemberSpecification(clang::Scope*,
clang::SourceLocation, clang::Decl*, clang::SourceLocation,
clang::SourceLocation, clang::ParsedAttributesView const&)
third_party/llvm/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:10729:3
#27 0x558ddfa83d11 in
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation,
clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:3768:13
#28 0x558ddfa7b9e8 in
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&,
clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext,
clang::ParsedAttributes&)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:2174:7
#29 0x558ddfadf814 in
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*,
clang::ImplicitTypenameContext)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDecl.cpp:4459:7
#30 0x558ddfa8d77a in ParseDeclarationSpecifiers
third_party/llvm/llvm-project/clang/include/clang/Parse/Parser.h:1842:12
#31 0x558ddfa8d77a in
clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier,
clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&,
clang::ParsingDeclRAIIObject*)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:2864:3
#32 0x558ddfa94bea in
clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&,
clang::ParsedAttributes&, clang::TypeSpecifierType, clang::Decl*)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp
#33 0x558ddfa839cb in
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation,
clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:3754:7
#34 0x558ddfa7b9e8 in
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&,
clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext,
clang::ParsedAttributes&)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:2174:7
#35 0x558ddfadf814 in
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*,
clang::ImplicitTypenameContext)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDecl.cpp:4459:7
#36 0x558ddf992549 in ParseDeclarationSpecifiers
third_party/llvm/llvm-project/clang/include/clang/Parse/Parser.h:1842:12
#37 0x558ddf992549 in
clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&,
clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier)
third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1091:3
#38 0x558ddf991bb9 in
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&,
clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier)
third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1209:12
#39 0x558ddf98f281 in
clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&,
clang::ParsedAttributes&, clang::ParsingDeclSpec*)
third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1032:14
#40 0x558ddfa63f04 in
clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo,
4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&,
clang::BalancedDelimiterTracker&)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:240:7
#41 0x558ddfa614c7 in
clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&,
clang::SourceLocation)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:218:3
#42 0x558ddfad1334 in
clang::Parser::ParseDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&,
clang::SourceLocation*)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDecl.cpp
#43 0x558ddf98e4bd in
clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&,
clang::ParsedAttributes&, clang::ParsingDeclSpec*)
third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp
#44 0x558ddfa63f04 in
clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo,
4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&,
clang::BalancedDelimiterTracker&)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:240:7
#45 0x558ddfa614c7 in
clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&,
clang::SourceLocation)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:218:3
#46 0x558ddfad1334 in
clang::Parser::ParseDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&,
clang::SourceLocation*)
third_party/llvm/llvm-project/clang/lib/Parse/ParseDecl.cpp
#47 0x558ddf98e4bd in
clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&,
clang::ParsedAttributes&, clang::ParsingDeclSpec*)
third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp
#48 0x558ddf989c0d in
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&,
clang::Sema::ModuleImportState&)
third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:745:12
#49 0x558ddf96aeee in clang::ParseAST(clang::Sema&, bool, bool)
third_party/llvm/llvm-project/clang/lib/Parse/ParseAST.cpp:170:20
#50 0x558ddf2278c9 in clang::ASTFrontendAction::ExecuteAction()
third_party/llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1431:3
#51 0x558ddd1246be in clang::CodeGenAction::ExecuteAction()
third_party/llvm/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1109:30
#52 0x558ddf226532 in clang::FrontendAction::Execute()
third_party/llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1311:3
#53 0x558ddf0acc76 in
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
third_party/llvm/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1008:33
#54 0x558ddd1108bc in
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
third_party/llvm/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:310:25
#55 0x558ddd0e9923 in cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) third_party/llvm/llvm-project/clang/tools/driver/cc1_main.cpp:300:15
#56 0x558ddd0dee70 in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&,
llvm::ToolContext const&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>)
third_party/llvm/llvm-project/clang/tools/driver/driver.cpp:225:12
#57 0x558ddd0e60d3 in operator()
third_party/llvm/llvm-project/clang/tools/driver/driver.cpp:369:12
#58 0x558ddd0e60d3 in int llvm::function_ref<int
(llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**,
llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&)
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#59 0x558ddf5749e1 in operator()
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#60 0x558ddf5749e1 in operator()
third_party/llvm/llvm-project/clang/lib/Driver/Job.cpp:437:34
#61 0x558ddf5749e1 in void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__msan::optional<llvm::StringRef>>,
std::__msan::basic_string<char, std::__msan::char_traits<char>,
std::__msan::allocator<char>>*, bool*) const::$_0>(long)
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#62 0x558deccf8397 in
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) () (
#63 0x558ddf570ff9 in
clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__msan::optional<llvm::StringRef>>,
std::__msan::basic_string<char, std::__msan::char_traits<char>,
std::__msan::allocator<char>>*, bool*) const
third_party/llvm/llvm-project/clang/lib/Driver/Job.cpp:437:12
#64 0x558ddf4b9237 in
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&, bool) const
third_party/llvm/llvm-project/clang/lib/Driver/Compilation.cpp:196:15
#65 0x558ddf4b980e in
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::__msan::pair<int, clang::driver::Command const*>>&,
bool) const
third_party/llvm/llvm-project/clang/lib/Driver/Compilation.cpp:246:19
#66 0x558ddf503068 in
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::__msan::pair<int, clang::driver::Command const*>>&)
third_party/llvm/llvm-project/clang/lib/Driver/Driver.cpp:2241:5
#67 0x558ddd0dd2fa in clang_main(int, char**, llvm::ToolContext const&)
third_party/llvm/llvm-project/clang/tools/driver/driver.cpp:407:21
#68 0x558ddd0d8d6f in main llvm-project/clang/clang-driver.cpp:17:10
#69 0x7f1225bb1351 in __libc_start_main ()
#70 0x558ddd049fe9 in _start start.S:120
Uninitialized value was created by a heap deallocation
#0 0x558ddd0d8a89 in operator delete(void*, unsigned long,
std::align_val_t)
third_party/llvm/llvm-project/compiler-rt/lib/msan/msan_new_delete.cpp:108:3
#1 0x558decd6f8b8 in llvm::deallocate_buffer(void*, unsigned long, unsigned
long) () (BuildId: 95156bac43bc56e46756d69535047519)
#2 0x558ddfeb30ac in deallocateBuckets
third_party/llvm/llvm-project/llvm/include/llvm/ADT/DenseMap.h:834:5
#3 0x558ddfeb30ac in ~DenseMap
third_party/llvm/llvm-project/llvm/include/llvm/ADT/DenseMap.h:744:5
#4 0x558ddfeb30ac in
clang::ASTReader::ReadStmtFromStream(clang::serialization::ModuleFile&)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp:4548:1
#5 0x558ddfead686 in
clang::ASTReader::ReadStmt(clang::serialization::ModuleFile&)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp:2987:12
#6 0x558ddfd8a838 in readStmt
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h:123:37
#7 0x558ddfd8a838 in readStmtRef
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h:124:32
#8 0x558ddfd8a838 in readExprRef
llvm-project/clang/include/clang/AST/AbstractBasicReader.inc:933:40
#9 0x558ddfd8a838 in
clang::serialization::AbstractTypeReader<clang::ASTRecordReader>::readDecltypeType()
llvm-project/clang/include/clang/AST/AbstractTypeReader.inc:325:45
#10 0x558ddfcc9ce5 in
clang::serialization::AbstractTypeReader<clang::ASTRecordReader>::read(clang::Type::TypeClass)
llvm-project/clang/include/clang/AST/AbstractTypeReader.inc:50:14
#11 0x558ddfcc9535 in clang::ASTReader::readTypeRecord(unsigned long)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReader.cpp:7197:21
#12 0x558ddfcb8184 in clang::ASTReader::GetType(unsigned long)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReader.cpp:7931:26
#13 0x558ddfd46ed8 in getLocalType
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReader.cpp:7945:10
#14 0x558ddfd46ed8 in
clang::ASTReader::readType(clang::serialization::ModuleFile&,
llvm::SmallVector<unsigned long, 64u> const&, unsigned int&)
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTReader.h:2119:12
#15 0x558ddfd8d76c in readType
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h:175:20
#16 0x558ddfd8d76c in readQualType
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h:178:12
#17 0x558ddfd8d76c in
clang::serialization::AbstractTypeReader<clang::ASTRecordReader>::readFunctionProtoType()
llvm-project/clang/include/clang/AST/AbstractTypeReader.inc:451:48
#18 0x558ddfcc9cb9 in
clang::serialization::AbstractTypeReader<clang::ASTRecordReader>::read(clang::Type::TypeClass)
llvm-project/clang/include/clang/AST/AbstractTypeReader.inc:68:14
#19 0x558ddfcc9535 in clang::ASTReader::readTypeRecord(unsigned long)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReader.cpp:7197:21
#20 0x558ddfcb8184 in clang::ASTReader::GetType(unsigned long)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReader.cpp:7931:26
#21 0x558ddfd46ed8 in getLocalType
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReader.cpp:7945:10
#22 0x558ddfd46ed8 in
clang::ASTReader::readType(clang::serialization::ModuleFile&,
llvm::SmallVector<unsigned long, 64u> const&, unsigned int&)
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTReader.h:2119:12
#23 0x558ddfdd731c in readType
third_party/llvm/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h:175:20
#24 0x558ddfdd731c in
clang::ASTDeclReader::VisitDeclaratorDecl(clang::DeclaratorDecl*)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp:911:29
#25 0x558ddfdd90cb in
clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp:1026:3
#26 0x558ddfdcfdb7 in clang::declvisitor::Base<std::__msan::add_pointer,
clang::ASTDeclReader, void>::Visit(clang::Decl*)
llvm-project/clang/include/clang/AST/DeclNodes.inc:256:1
#27 0x558ddfdcf435 in clang::ASTDeclReader::Visit(clang::Decl*)
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp:527:37
#28 0x558ddfe5e5ca in operator()
third_party/llvm/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp:4249:53
#29 0x558ddfe5e5ca in void llvm::function_ref<void
()>::callback_fn<clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID)::$_1>(long)
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#30 0x558de347d9cc in operator()
third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#31 0x558de347d9cc in runWithSufficientStackSpace
third_party/llvm/llvm-project/clang/include/clang/Basic/Stack.h:49:7
#32 0x558de347d9cc in
clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>)
third_party/llvm/llvm-project/clang/lib/Basic/StackExhaustionHandler.cpp:20:3
SUMMARY: MemorySanitizer: use-of-uninitialized-value
third_party/llvm/llvm-project/clang/lib/Sema/SemaConcept.cpp:2413:1 in
clang::Sema::getNormalizedAssociatedConstraints(llvm::PointerUnion<clang::NamedDecl
const*, clang::concepts::NestedRequirement const*>,
llvm::ArrayRef<clang::AssociatedConstraint>)
(//third_party/llvm/llvm-project/clang:clang)
```
It looks like serialization or deserialization issue.
https://github.com/llvm/llvm-project/pull/161671
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits