[clang] [alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments. (PR #130729)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 11 13:07:31 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-gcc-ubuntu` running on `sie-linux-worker3` while building `clang` at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/14353

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'Clang :: Analysis/Checkers/WebKit/unretained-call-args.mm' FAILED ********************
Exit Code: 139

Command Output (stderr):
--
RUN: at line 1: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang -cc1 -internal-isystem /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=alpha.webkit.UnretainedCallArgsChecker -verify /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang -cc1 -internal-isystem /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=alpha.webkit.UnretainedCallArgsChecker -verify /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang -cc1 -internal-isystem /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=alpha.webkit.UnretainedCallArgsChecker -verify /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
1.	<eof> parser at end of file
 #0 0x0000564c7b86883f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x459183f)
 #1 0x0000564c7b866014 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x00007f691080f420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x0000564c7ee58ff8 clang::Expr::IgnoreParenCasts() (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7b81ff8)
 #4 0x0000564c7d98bf60 (anonymous namespace)::RawPtrRefCallArgsChecker::checkASTDecl(clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) const::LocalVisitor::VisitObjCMessageExpr(clang::ObjCMessageExpr*) RawPtrRefCallArgsChecker.cpp:0:0
 #5 0x0000564c7edb1ef8 clang::DynamicRecursiveASTVisitorBase<false>::TraverseObjCMessageExpr(clang::ObjCMessageExpr*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7adaef8)
 #6 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
 #7 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
 #8 0x0000564c7edb1e1f clang::DynamicRecursiveASTVisitorBase<false>::TraverseObjCMessageExpr(clang::ObjCMessageExpr*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7adae1f)
 #9 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
#10 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
#11 0x0000564c7edacdb5 clang::DynamicRecursiveASTVisitorBase<false>::TraverseCallExpr(clang::CallExpr*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7ad5db5)
#12 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
#13 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
#14 0x0000564c7edae1f5 clang::DynamicRecursiveASTVisitorBase<false>::TraverseCXXBindTemporaryExpr(clang::CXXBindTemporaryExpr*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7ad71f5)
#15 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
#16 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
#17 0x0000564c7edafb8d clang::DynamicRecursiveASTVisitorBase<false>::TraverseExprWithCleanups(clang::ExprWithCleanups*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7ad8b8d)
#18 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
#19 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
#20 0x0000564c7edbe7ea clang::DynamicRecursiveASTVisitorBase<false>::TraverseVarDecl(clang::VarDecl*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7ae77ea)
#21 0x0000564c7d98735b (anonymous namespace)::RawPtrRefCallArgsChecker::checkASTDecl(clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) const::LocalVisitor::TraverseDecl(clang::Decl*) RawPtrRefCallArgsChecker.cpp:0:0
#22 0x0000564c7ed78686 clang::DynamicRecursiveASTVisitorBase<false>::TraverseDeclStmt(clang::DeclStmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa1686)
#23 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
#24 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
#25 0x0000564c7ed8805d clang::DynamicRecursiveASTVisitorBase<false>::TraverseCompoundStmt(clang::CompoundStmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7ab105d)
#26 0x0000564c7ed79e49 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) DynamicRecursiveASTVisitor.cpp:0:0
#27 0x0000564c7ed79f94 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aa2f94)
#28 0x0000564c7edc8637 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseFunctionHelper(clang::FunctionDecl*) DynamicRecursiveASTVisitor.cpp:0:0
#29 0x0000564c7edc88c5 clang::DynamicRecursiveASTVisitorBase<false>::TraverseFunctionDecl(clang::FunctionDecl*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7af18c5)
#30 0x0000564c7d98735b (anonymous namespace)::RawPtrRefCallArgsChecker::checkASTDecl(clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) const::LocalVisitor::TraverseDecl(clang::Decl*) RawPtrRefCallArgsChecker.cpp:0:0
#31 0x0000564c7ed78dec clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseDeclContextHelper(clang::DeclContext*) (.part.0) DynamicRecursiveASTVisitor.cpp:0:0
#32 0x0000564c7eda1257 clang::DynamicRecursiveASTVisitorBase<false>::TraverseNamespaceDecl(clang::NamespaceDecl*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7aca257)
#33 0x0000564c7d98735b (anonymous namespace)::RawPtrRefCallArgsChecker::checkASTDecl(clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) const::LocalVisitor::TraverseDecl(clang::Decl*) RawPtrRefCallArgsChecker.cpp:0:0
#34 0x0000564c7ed78dec clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseDeclContextHelper(clang::DeclContext*) (.part.0) DynamicRecursiveASTVisitor.cpp:0:0
#35 0x0000564c7ed9b772 clang::DynamicRecursiveASTVisitorBase<false>::TraverseTranslationUnitDecl(clang::TranslationUnitDecl*) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x7ac4772)
#36 0x0000564c7d987755 void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_checkDecl<(anonymous namespace)::UnretainedCallArgsChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) RawPtrRefCallArgsChecker.cpp:0:0
#37 0x0000564c7da04a31 clang::ento::CheckerManager::runCheckersOnASTDecl(clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) (/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang+0x672da31)
#38 0x0000564c7d62398e (anonymous namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&) AnalysisConsumer.cpp:0:0
...

```

</details>

https://github.com/llvm/llvm-project/pull/130729


More information about the cfe-commits mailing list