=?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com>, =?utf-8?q?Félix?= Cloutier <fclout...@apple.com> Message-ID: In-Reply-To: <llvm.org/llvm/llvm-project/pull/116...@github.com>
thurstond wrote: Benjamin Kramer fixed it at head (https://github.com/llvm/llvm-project/commit/85eb7259d9e1ab57e9fac248096d73505a60c072) > The newly added format-string-matches.c has been failing in the sanitizer > builds > (https://lab.llvm.org/buildbot/#/builders/52/builds/6312/steps/12/logs/stdio). > Could you please take a look? > > ``` > ==clang==2272405==ERROR: AddressSanitizer: stack-use-after-scope on address > 0x72d4dddb2570 at pc 0x57fb61e308a1 bp 0x7fff837cb2b0 sp 0x7fff837cb2a8 > READ of size 8 at 0x72d4dddb2570 thread T0 > #0 0x57fb61e308a0 in EmitFormatDiagnostic<clang::CharSourceRange> > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:6925:43 > #1 0x57fb61e308a0 in (anonymous > namespace)::CheckFormatHandler::HandleInvalidConversionSpecifier(unsigned > int, clang::SourceLocation, char const*, unsigned int, char const*, unsigned > int) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:6880:3 > #2 0x57fb61e2cf26 in (anonymous > namespace)::CheckPrintfHandler::HandleInvalidPrintfConversionSpecifier(clang::analyze_printf::PrintfSpecifier > const&, char const*, unsigned int) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:7152:10 > #3 0x57fb61e2d899 in (anonymous > namespace)::CheckPrintfHandler::HandlePrintfSpecifier(clang::analyze_printf::PrintfSpecifier > const&, char const*, unsigned int, clang::TargetInfo const&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp > #4 0x57fb61e40876 in (anonymous > namespace)::DecomposePrintfHandler::HandlePrintfSpecifier(clang::analyze_printf::PrintfSpecifier > const&, char const*, unsigned int, clang::TargetInfo const&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:7416:28 > #5 0x57fb6496f402 in > clang::analyze_format_string::ParsePrintfString(clang::analyze_format_string::FormatStringHandler&, > char const*, char const*, clang::LangOptions const&, clang::TargetInfo > const&, bool) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/AST/PrintfFormatString.cpp:449:12 > #6 0x57fb61df40d7 in (anonymous > namespace)::DecomposePrintfHandler::GetSpecifiers(clang::Sema&, (anonymous > namespace)::FormatStringLiteral const*, clang::Expr const*, > clang::Sema::FormatStringType, bool, bool, llvm::SmallVectorImpl<(anonymous > namespace)::EquatableFormatArgument>&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:7398:8 > #7 0x57fb61df3322 in > clang::Sema::CheckFormatStringsCompatible(clang::Sema::FormatStringType, > clang::StringLiteral const*, clang::StringLiteral const*, clang::Expr const*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:8660:7 > #8 0x57fb61e274b2 in CheckFormatString(clang::Sema&, (anonymous > namespace)::FormatStringLiteral const*, clang::StringLiteral const*, > clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, > clang::Sema::FormatArgumentPassingKind, unsigned int, unsigned int, > clang::Sema::FormatStringType, bool, clang::Sema::VariadicCallType, > llvm::SmallBitVector&, (anonymous namespace)::UncoveredArgHandler&, bool) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:8620:9 > #9 0x57fb61df0052 in checkFormatStringExpr(clang::Sema&, > clang::StringLiteral const*, clang::Expr const*, llvm::ArrayRef<clang::Expr > const*>, clang::Sema::FormatArgumentPassingKind, unsigned int, unsigned int, > clang::Sema::FormatStringType, clang::Sema::VariadicCallType, bool, > llvm::SmallBitVector&, (anonymous namespace)::UncoveredArgHandler&, > llvm::APSInt, bool) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:6270:7 > #10 0x57fb61deba4b in > clang::Sema::CheckFormatArguments(llvm::ArrayRef<clang::Expr const*>, > clang::Sema::FormatArgumentPassingKind, clang::StringLiteral const*, unsigned > int, unsigned int, clang::Sema::FormatStringType, > clang::Sema::VariadicCallType, clang::SourceLocation, clang::SourceRange, > llvm::SmallBitVector&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:6455:31 > #11 0x57fb61dd4429 in CheckFormatString > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:6418:12 > #12 0x57fb61dd4429 in clang::Sema::checkCall(clang::NamedDecl*, > clang::FunctionProtoType const*, clang::Expr const*, > llvm::ArrayRef<clang::Expr const*>, bool, clang::SourceLocation, > clang::SourceRange, clang::Sema::VariadicCallType) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:3307:7 > #13 0x57fb61dda4cb in > clang::Sema::CheckFunctionCall(clang::FunctionDecl*, clang::CallExpr*, > clang::FunctionProtoType const*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:3546:3 > #14 0x57fb6234c9b6 in clang::Sema::BuildResolvedCallExpr(clang::Expr*, > clang::NamedDecl*, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, > clang::SourceLocation, clang::Expr*, bool, clang::CallExpr::ADLCallKind) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaExpr.cpp:7036:9 > #15 0x57fb62310d1d in clang::Sema::BuildCallExpr(clang::Scope*, > clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, > clang::SourceLocation, clang::Expr*, bool, bool) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaExpr.cpp:6693:10 > #16 0x57fb623474fe in clang::Sema::ActOnCallExpr(clang::Scope*, > clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, > clang::SourceLocation, clang::Expr*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaExpr.cpp:6456:7 > #17 0x57fb6194c787 in > clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, > true>) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseExpr.cpp:2269:23 > #18 0x57fb61953272 in > clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, > clang::Parser::TypeCastState, bool, bool*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseExpr.cpp:1962:9 > #19 0x57fb61945e62 in ParseCastExpression > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseExpr.cpp:729:20 > #20 0x57fb61945e62 in > clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseExpr.cpp:184:20 > #21 0x57fb61945acd in > clang::Parser::ParseExpression(clang::Parser::TypeCastState) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseExpr.cpp:135:18 > #22 0x57fb61ac41fd in > clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseStmt.cpp:564:19 > #23 0x57fb61abcdfa in > clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, > 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, > clang::ParsedAttributes&, clang::ParsedAttributes&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseStmt.cpp:293:14 > #24 0x57fb61abb924 in > clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, > 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseStmt.cpp:125:20 > #25 0x57fb61ad775b in clang::Parser::ParseCompoundStatementBody(bool) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseStmt.cpp:1267:11 > #26 0x57fb61adae8e in > clang::Parser::ParseFunctionStatementBody(clang::Decl*, > clang::Parser::ParseScope&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseStmt.cpp:2577:21 > #27 0x57fb618f7866 in > clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, > clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1520:10 > #28 0x57fb61a18176 in > clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, > clang::DeclaratorContext, clang::ParsedAttributes&, > clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, > clang::Parser::ForRangeInit*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseDecl.cpp:2461:17 > #29 0x57fb618f4a13 in > clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, > clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1244:10 > #30 0x57fb618f3529 in > clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, > clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1266:12 > #31 0x57fb618f0528 in > clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, > clang::ParsedAttributes&, clang::ParsingDeclSpec*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1069:14 > #32 0x57fb618eb6ab in > clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, > clang::Sema::ModuleImportState&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:758:12 > #33 0x57fb618dd76d in clang::ParseAST(clang::Sema&, bool, bool) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseAST.cpp:171:20 > #34 0x57fb5e5f68d8 in clang::FrontendAction::Execute() > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1072:3 > #35 0x57fb5e4f8d0f in > clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1056:33 > #36 0x57fb5e8488a5 in > clang::ExecuteCompilerInvocation(clang::CompilerInstance*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:25 > #37 0x57fb556a7754 in cc1_main(llvm::ArrayRef<char const*>, char const*, > void*) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/cc1_main.cpp:290:15 > #38 0x57fb5569f1bf in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, > llvm::ToolContext const&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/driver.cpp:218:12 > #39 0x57fb5569d657 in clang_main(int, char**, llvm::ToolContext const&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/driver.cpp:259:12 > #40 0x57fb556bf501 in main > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/tools/driver/clang-driver.cpp:17:10 > #41 0x76d4dfc2a3b7 (/lib/x86_64-linux-gnu/libc.so.6+0x2a3b7) (BuildId: > 91f01b4ad171c80b6303d08d1f08cba8b990413d) > #42 0x76d4dfc2a47a in __libc_start_main > (/lib/x86_64-linux-gnu/libc.so.6+0x2a47a) (BuildId: > 91f01b4ad171c80b6303d08d1f08cba8b990413d) > #43 0x57fb555b3ae4 in _start > (/home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-21+0xc1caae4) > Address 0x72d4dddb2570 is located in stack of thread T0 at offset 368 in frame > #0 0x57fb61df3d5f in (anonymous > namespace)::DecomposePrintfHandler::GetSpecifiers(clang::Sema&, (anonymous > namespace)::FormatStringLiteral const*, clang::Expr const*, > clang::Sema::FormatStringType, bool, bool, llvm::SmallVectorImpl<(anonymous > namespace)::EquatableFormatArgument>&) > /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/lib/Sema/SemaChecking.cpp:7388 > ``` https://github.com/llvm/llvm-project/pull/116708 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits