[CMake] Custom memory checking result processing

Johny Jose Johny.Jose at cern.ch
Fri Jun 25 10:33:08 EDT 2010


Thanks for the suggestions, but i already went down these paths. The problem is my logs in xml format on an average go above 100 MB of output, with gen-suppressions i get 300MB output files and the suppressions file generated out of these is again way too big for my liking.
If only valgrind had more features in terms of expressing suppression rules like some sort of pattern matcher which would suppress all errors except the matching ones it would have been easier, because the errors i want to look at match a contain a particular pattern. Right now the only workaround is manually parsing the xml log file and selecting the errors i want to see. I used to have problems viewing these results too on CDash because of the huge file sizes. 
Using a generated suppression files even if i optimized it with wildcards is not feasible since i have no way of knowing which errors i don't need but i do know which errors i do need. It would be a really great feature to add to valgrind.

Regards,
Johny

-----Original Message-----
From: cmake-bounces at cmake.org on behalf of Bill Hoffman
Sent: Fri 6/25/2010 4:17 PM
To: cmake at cmake.org
Subject: Re: [CMake] Custom memory checking result processing
 
On 6/25/2010 7:47 AM, David Cole wrote:
> I can't really think of a better way to tackle the problem...
>
> But I will make this one observation:
> If these underlying frameworks you depend on produce *thousands* of
> valgrind errors, do you really want to be depending on them?
>
> (Serious question, not trying to be flippant... It would make me very
> nervous to depend on a framework that has more than a handful of
> valgrind issues: and each issue would have to be something that I was
> convinced did not have a high likelihood of occurring in real world
> usage scenarios.)
>

So, lots of things that you have to use like libX11 have tons and tons 
of valgrind stuff in them.   Some are not real, some are, but you still 
have to use those libraries as they are. What you do is create a 
valgrind suppression file.  What I usally do is run valgrind with 
--gen-suppressions=all.  This makes valgrind spit out the exact text to 
put in the suppression file.  This output will show up on the dashboard. 
  You use that to create a suppression file that you pass to valgrind.

Then you set this in the cache:
MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH=${CTEST_MEMORYCHECK_SUPPRESSIONS_FILE}

CTEst will then use that as a suppression file.  You keep adding to the 
suppression file until you have it like you want.  Many times it is the 
same thing over and over, so a few suppressions go a long way.

-Bill
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100625/bfe412ac/attachment.htm>


More information about the CMake mailing list