Re: [ros-users] roscpp and valgrind's helgrind

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] roscpp and valgrind's helgrind
>
>
> This is a cool tool!
>
>

Unfortunately, it doesn't really work for most applications. While there
are some things we should take a look at (the lock ordering warnings),
everything else appears to be false positives. Helgrind only really works
if:

* You're not using any non-pthreads synchronization primitives (such as
atomics) -- we are (shared_ptr uses atomic increment/decrement, shared_mutex
is not pthreads-based, ...)
* You're not using pthreads condition variables -- we are, in many places
* You're not using memory pools -- we aren't currently (at least in
roscpp), but probably will be at some point

http://valgrind.org/docs/manual/hg-manual.html#hg-manual.effective-use

Realistically, if you want to use helgrind on your application you need to
design your application around working with helgrind. Otherwise the signal
to noise ratio is too low to make it worthwhile -- though it can be useful
at times when tracking down a specific bug.

Josh