Go to file
Gabor Horvath e9984b28ef [Static Analyzer] BugReporter.cpp:2869: Assertion failed: !RemainingNodes.empty() && "No error node found in the trimmed graph"
The assertion is caused by reusing a “filler” ExplodedNode as an error node.
The “filler” nodes are only used for intermediate processing and are not
essential for analyzer history, so they can be reclaimed when the
ExplodedGraph is trimmed by the “collectNode” function. When a checker finds a
bug, they generate a new transition in the ExplodedGraph. The analyzer will
try to reuse the existing predecessor node. If it cannot, it creates a new
ExplodedNode, which always has a tag to uniquely identify the creation site.
The assertion is caused when the analyzer reuses a “filler” node.

In the test case, some “filler” nodes were reused and then reclaimed later
when the ExplodedGraph was trimmed. This caused an assertion because the node
was needed to generate the report. The “filler” nodes should not be reused as
error nodes. The patch adds a constraint to prevent this happening, which
solves the problem and makes the test cases pass.

Differential Revision: http://reviews.llvm.org/D11433

Patch by Ying Yi!

llvm-svn: 246188
2015-08-27 18:57:00 +00:00
clang [Static Analyzer] BugReporter.cpp:2869: Assertion failed: !RemainingNodes.empty() && "No error node found in the trimmed graph" 2015-08-27 18:57:00 +00:00
clang-tools-extra [clang-tidy] Move clang-tidy docs to a separate directory. Create doc files for checks 2015-08-27 18:10:07 +00:00
compiler-rt [sanitizer] Move sem_* to common interceptors. 2015-08-27 18:51:18 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Update mailing list reference. 2015-08-24 22:43:24 +00:00
libcxx Do not include pthread.h and sched.h when threads are disabled 2015-08-27 17:47:34 +00:00
libcxxabi Fix or disable C++11 tests in C++03 mode 2015-08-20 01:22:17 +00:00
libunwind [libunwind] Remove unused includes. 2015-08-27 06:58:31 +00:00
lld ELF/AMDGPU: Add more misssing: using namespace lld; 2015-08-27 18:43:12 +00:00
lldb Remove class Language - the only thing it was actually being used for is provided by LanguageRuntime already 2015-08-27 18:18:49 +00:00
llgo Update to new lists.llvm.org 2015-08-05 04:03:05 +00:00
llvm Improve vectorization diagnostic messages and extend vectorize(enable) pragma. 2015-08-27 18:56:49 +00:00
openmp Update README.txt to include table of supported Power processors 2015-08-27 17:19:17 +00:00
polly Do not detect Scops with only one loop. 2015-08-27 16:55:18 +00:00