[cfe-dev] scan-build "No bugs found."

Jack Bates via cfe-dev cfe-dev at lists.llvm.org
Thu Jan 19 12:40:34 PST 2017


Thanks for trying to reproduce my problem! I tried again with scan-build 
from the Clang source repository. Now I'm getting one bug and one crash. 
So I'm confident that the analyzer is doing *something*, but I still 
wonder why I'm not seeing the 22 bugs that you are?

Am I running the same version of scan-build? Is there something about my 
environment that could explain the discrepancy? I'm running Debian 
Linux. Are the versions of any other tools on my system significant to this?

Here's what I did this time:

   $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
   $ cd llvm/tools
   $ svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
   $ cd ../..
   $ mkdir build
   $ cd build
   $ cmake ../llvm
   $ make
   $ cd ..
   $ git clone https://github.com/apache/trafficserver.git
   $ cd trafficserver
   $ autoreconf -i
   $ ./configure
   $ ../build/bin/scan-build -v -v make V=1 2>&1 > ~/Desktop/scan-build

Here's the output [1] -- again, many lines were printed on the console 
instead. Here's the crash [2].

Thanks for the tip about scan-build-py, I haven't tried that yet.

[1] http://nottheoilrig.com/scan-build-1484839698
[2] http://nottheoilrig.com/failures

On 18/01/17 06:30 AM, Laszlo Nagy wrote:
> Hi Jack,
>
> was following your recipe to analyze the traffic server. Was using the
> scan-build-py and scan-build from Clang source repo. Both was leaving me
> a non empty report directory with 22 bug reports.
>
>
> And `scan-build` is designed to run through `configure` too. It does not
> have a huge cost to do, so should not be an issue. But this case I
> agree, the generated makefiles are respecting the `CC` and `CXX`
> variables, therefore the interposition works.
>
> About the redirection problem. I don't know the answer. But I know a
> workaround it. If you use the `intercept-build` and `analyze-build` from
> scan-build-py, you can separate the interception phase from the actual
> static analyzer runs. And when you run `analyze-build` that can be
> redirected without this problem.
>
> Regards,
> Laszlo
>
> On Wed, Jan 18, 2017 at 9:39 AM, Jack Bates via cfe-dev
> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>
>     I'm running scan-build on Apache Traffic Server and getting "No bugs
>     found.", which isn't what I expect.
>
>     I ran it as follows:
>
>       $ git clone https://github.com/apache/trafficserver.git
>     <https://github.com/apache/trafficserver.git>
>       $ cd trafficserver
>       $ autoreconf -i
>       $ ./configure
>       $ scan-build -v -v make V=1 2>&1 > ~/Desktop/scan-build
>
>     Here's the output [1].
>
>     I didn't run ./configure through scan-build, but I conclude from the
>     Make output that the compiler is being correctly interposed upon, so
>     I shouldn't need to? The output indicates that the compiler is
>     c++-analyzer.
>
>     The output contains lines like the following, so I conclude that the
>     analyzer is working?
>
>       ANALYZE (Syntax): ../../lib/ts/ink_mutex.h ~x_pthread_mutexattr_t
>
>     And it contains lines like "1 warning generated.", so I conclude
>     that there should be bugs?
>
>     So my first question is, why are there "No bugs found."?
>
>     Also, although I redirect both stdout and stderr, the lines I
>     mentioned -- "ANALYZE ..." and "1 warning generated." -- are
>     nonetheless printed on the console, not [1]. Why is that?
>
>     Thanks!
>
>     [1] http://nottheoilrig.com/scan-build
>     <http://nottheoilrig.com/scan-build>
>     _______________________________________________
>     cfe-dev mailing list
>     cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
>



More information about the cfe-dev mailing list