<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Crash in NonNullParamChecker.cpp"
href="https://llvm.org/bugs/show_bug.cgi?id=24914">24914</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Crash in NonNullParamChecker.cpp
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Static Analyzer
</td>
</tr>
<tr>
<th>Assignee</th>
<td>kremenek@apple.com
</td>
</tr>
<tr>
<th>Reporter</th>
<td>piotrzsl@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Application crashes.
Logs bellow.
clang-tidy:
...clang/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp:102:
void {anonymous}::NonNullParamChecker::checkPreCall(const
clang::ento::CallEvent&, clang::ento::CheckerContext&) const: Assertion
`!haveRefTypeParam || DV->getAs<Loc>()' failed.
Program received signal SIGABRT, Aborted.
0x000000375c032625 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x000000375c032625 in raise () from /lib64/libc.so.6
#1 0x000000375c033e05 in abort () from /lib64/libc.so.6
#2 0x000000375c02b74e in __assert_fail_base () from /lib64/libc.so.6
#3 0x000000375c02b810 in __assert_fail () from /lib64/libc.so.6
#4 0x0000000000b15b8a in (anonymous
namespace)::NonNullParamChecker::checkPreCall(clang::ento::CallEvent const&,
clang::ento::CheckerContext&) const ()
at ...clang/llvm/include/llvm/ADT/BitVector.h:225
#5 0x0000000000b838f2 in void expandGraphWithCheckers<(anonymous
namespace)::CheckCallContext>((anonymous namespace)::CheckCallContext,
clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet const&) () at
...clang/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h:58
#6 0x0000000000b839ae in
clang::ento::CheckerManager::runCheckersForCallEvent(bool,
clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet const&,
clang::ento::CallEvent const&, clang::ento::ExprEngine&, bool) () at
...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp:285
#7 0x0000000000b9eb1e in
clang::ento::ExprEngine::VisitCXXConstructExpr(clang::CXXConstructExpr const*,
clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) ()
at
...clang/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h:253
#8 0x0000000000b96cb7 in clang::ento::ExprEngine::Visit(clang::Stmt const*,
clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) ()
at ...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:1100
#9 0x0000000000b97c6a in clang::ento::ExprEngine::ProcessStmt(clang::CFGStmt,
clang::ento::ExplodedNode*) ()
at ...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:446
#10 0x0000000000b97d83 in
clang::ento::ExprEngine::processCFGElement(clang::CFGElement,
clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) ()
at ...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:295
#11 0x0000000000b87224 in
clang::ento::CoreEngine::HandlePostStmt(clang::CFGBlock const*, unsigned int,
clang::ento::ExplodedNode*) ()
at ...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:503
#12 0x0000000000b87b99 in
clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*,
clang::ProgramPoint, clang::ento::WorkListUnit const&) ()
at ...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:267
#13 0x0000000000b87d5e in
clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*,
unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) ()
at ...clang/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:223
#14 0x00000000006a51e9 in (anonymous
namespace)::AnalysisConsumer::ActionExprEngine ()
at
...clang/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:109
#15 0x00000000006a5598 in (anonymous
namespace)::AnalysisConsumer::HandleCode(clang::Decl*, unsigned int,
clang::ento::ExprEngine::InliningModes, llvm::DenseSet<clang::Decl const*,
llvm::DenseMapInfo<clang::Decl const*> >*) () at
...clang/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:689
#16 0x00000000006ab246 in (anonymous
namespace)::AnalysisConsumer::HandleTranslationUnit ()
at
...clang/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:492
#17 0x00000000006d8da0 in
clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) () at
...clang/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp:296
#18 0x00000000007313a3 in clang::ParseAST(clang::Sema&, bool, bool) () at
...clang/llvm/tools/clang/lib/Parse/ParseAST.cpp:168
#19 0x00000000006cb430 in clang::FrontendAction::Execute() () at
...clang/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:439
#20 0x00000000006b297b in
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) () at
...clang/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:838
#21 0x000000000068ca47 in
clang::tooling::FrontendActionFactory::runInvocation(clang::CompilerInvocation*,
clang::FileManager*, std::shared_ptr<clang::PCHContainerOperations>,
clang::DiagnosticConsumer*) () at
...clang/llvm/tools/clang/lib/Tooling/Tooling.cpp:274
#22 0x000000000068b1e3 in clang::tooling::ToolInvocation::runInvocation(char
const*, clang::driver::Compilation*, clang::CompilerInvocation*,
std::shared_ptr<clang::PCHContainerOperations>) () at
...clang/llvm/tools/clang/lib/Tooling/Tooling.cpp:250
#23 0x000000000068c23f in clang::tooling::ToolInvocation::run() () at
...clang/llvm/tools/clang/lib/Tooling/Tooling.cpp:235
#24 0x000000000068c526 in
clang::tooling::ClangTool::run(clang::tooling::ToolAction*) () at
...clang/llvm/tools/clang/lib/Tooling/Tooling.cpp:369
#25 0x00000000005e4bc4 in
clang::tidy::runClangTidy(std::unique_ptr<clang::tidy::ClangTidyOptionsProvider,
std::default_delete<clang::tidy::ClangTidyOptionsProvider> >,
clang::tooling::CompilationDatabase const&, llvm::ArrayRef<std::string>,
std::vector<clang::tidy::ClangTidyError,
std::allocator<clang::tidy::ClangTidyError> >*, clang::tidy::ProfileData*) ()
at ...clang/llvm/tools/clang/tools/extra/clang-tidy/ClangTidy.cpp:408
#26 0x000000000049378b in clang::tidy::clangTidyMain(int, char const**) () at
...clang/llvm/tools/clang/tools/extra/clang-tidy/tool/ClangTidyMain.cpp:317
#27 0x000000375c01ed5d in __libc_start_main () from /lib64/libc.so.6
#28 0x000000000048d555 in _start ()</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>