[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:04:05 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-cmake-x86_64-avx512-linux` running on `avx512-intel64` while building `clang` at step 7 "ninja check 1".

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

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

```
Step 7 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'Clang :: Analysis/Checkers/WebKit/unretained-call-args.mm' FAILED ********************
Exit Code: 134

Command Output (stderr):
--
RUN: at line 1: /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang -cc1 -internal-isystem /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=alpha.webkit.UnretainedCallArgsChecker -verify /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
+ /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang -cc1 -internal-isystem /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=alpha.webkit.UnretainedCallArgsChecker -verify /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
clang: /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/llvm/include/llvm/Support/Casting.h:662: decltype(auto) llvm::dyn_cast(From*) [with To = clang::ParenExpr; From = clang::Expr]: Assertion `detail::isPresent(Val) && "dyn_cast on a non-existent value"' failed.
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: /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang -cc1 -internal-isystem /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=alpha.webkit.UnretainedCallArgsChecker -verify /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
1.	<eof> parser at end of file
 #0 0x00000000020cb521 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x20cb521)
 #1 0x00000000020c8a95 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x00007ff99d982db0 __restore_rt (/lib64/libc.so.6+0x59db0)
 #3 0x00007ff99d9cf42c __pthread_kill_implementation (/lib64/libc.so.6+0xa642c)
 #4 0x00007ff99d982d06 gsignal (/lib64/libc.so.6+0x59d06)
 #5 0x00007ff99d9557d3 abort (/lib64/libc.so.6+0x2c7d3)
 #6 0x00007ff99d9556fb _nl_load_domain.cold (/lib64/libc.so.6+0x2c6fb)
 #7 0x00007ff99d97bc86 (/lib64/libc.so.6+0x52c86)
 #8 0x0000000004afef4c (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x4afef4c)
 #9 0x0000000005613ec0 clang::Expr::IgnoreParenCasts() (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5613ec0)
#10 0x000000000422d5f4 (anonymous namespace)::RawPtrRefCallArgsChecker::checkASTDecl(clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) const::LocalVisitor::VisitObjCMessageExpr(clang::ObjCMessageExpr*) RawPtrRefCallArgsChecker.cpp:0:0
#11 0x0000000005562258 clang::DynamicRecursiveASTVisitorBase<false>::TraverseObjCMessageExpr(clang::ObjCMessageExpr*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5562258)
#12 0x000000000554f907 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 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
#14 0x00000000055621a1 clang::DynamicRecursiveASTVisitorBase<false>::TraverseObjCMessageExpr(clang::ObjCMessageExpr*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x55621a1)
#15 0x000000000554f907 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 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
#17 0x0000000005559bf9 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseBreakStmt(clang::BreakStmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.part.0) DynamicRecursiveASTVisitor.cpp:0:0
#18 0x0000000005574e32 clang::DynamicRecursiveASTVisitorBase<false>::TraverseCallExpr(clang::CallExpr*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5574e32)
#19 0x000000000554f907 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
#20 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
#21 0x0000000005559bf9 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseBreakStmt(clang::BreakStmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.part.0) DynamicRecursiveASTVisitor.cpp:0:0
#22 0x0000000005574612 clang::DynamicRecursiveASTVisitorBase<false>::TraverseCXXBindTemporaryExpr(clang::CXXBindTemporaryExpr*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5574612)
#23 0x000000000554f907 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 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
#25 0x0000000005559bf9 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseBreakStmt(clang::BreakStmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.part.0) DynamicRecursiveASTVisitor.cpp:0:0
#26 0x0000000005576c56 clang::DynamicRecursiveASTVisitorBase<false>::TraverseExprWithCleanups(clang::ExprWithCleanups*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5576c56)
#27 0x000000000554f907 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
#28 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
#29 0x000000000558253c clang::DynamicRecursiveASTVisitorBase<false>::TraverseVarDecl(clang::VarDecl*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x558253c)
#30 0x0000000004228a37 (anonymous namespace)::RawPtrRefCallArgsChecker::checkASTDecl(clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) const::LocalVisitor::TraverseDecl(clang::Decl*) RawPtrRefCallArgsChecker.cpp:0:0
#31 0x0000000005551036 clang::DynamicRecursiveASTVisitorBase<false>::TraverseDeclStmt(clang::DeclStmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5551036)
#32 0x000000000554f907 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
#33 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
#34 0x0000000005559bf9 clang::RecursiveASTVisitor<(anonymous namespace)::Impl<false>>::TraverseBreakStmt(clang::BreakStmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.part.0) DynamicRecursiveASTVisitor.cpp:0:0
#35 0x0000000005559f0a clang::DynamicRecursiveASTVisitorBase<false>::TraverseCompoundStmt(clang::CompoundStmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x5559f0a)
#36 0x000000000554f907 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
#37 0x000000000554fa33 clang::DynamicRecursiveASTVisitorBase<false>::TraverseStmt(clang::Stmt*) (/localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang+0x554fa33)
...

```

</details>

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


More information about the cfe-commits mailing list