[Bro] Memory leak output

Siwek, Jon jsiwek at illinois.edu
Mon Feb 2 12:41:30 PST 2015

> On Feb 2, 2015, at 2:07 PM, Josh Liburdi <liburdi.joshua at gmail.com> wrote:
> I also ran all packages (standard 2.3.2, 2.3.2 with my analyzer, and
> git/master) through valgrind and that found zero leaks in all runs. Do
> you have an opinion on which tool (perftools or valgrind) is more
> "accurate" with regard to reporting leaks? I'm not sure why perftools
> is not finding thread stacks (unless they simply don't exist and the
> reported leaks are false positives) ...

How did you configure/build Bro?  My leak check configuration is

./configure --enable-debug --enable-perftools-debug

Regarding accuracy, I haven’t noticed much difference between valgrind and gperftools.  Sometimes I prefer valgrind just to also check for other memory errors (e.g. invalid read/write, using uninitialized).  AddressSanitizer is also a nice tool.

However, unless you’re using a suppression file, valgrind should be reporting a lot of “leaks” in Bro’s initialization routines that aren’t really concerning.  With gperftools, Bro has been instrumented to only check for leaks in the main I/O loop, so leaks it reports are usually always concerning.

- Jon

More information about the Bro mailing list