valgrind and buildbot

Dan Kegel dank at kegel.com
Sun Oct 9 13:36:02 CDT 2011


As always, http://buildbot.kegel.com is just now starting to look stable
(kind of like fusion power is always nearly practical).
So I'm starting to look at adding valgrind to the buildbot.
I won't check for memory leaks at all, since those are too numerous to count.
And I'll only valgrind the tests immediately related to each proposed patch.

First, though, I need a complete suppressions file for all existing
wine valgrind warnings.  That's going to take a while to put
together, since some of the warnings don't show up on every
run.

And before I bother to automate anything, I'm taking a little detour,
looking at the existing warnings, and trying to see if we can make a
little progress on some of them.

The script http://code.google.com/p/winezeug/source/browse/trunk/buildbot/runval.sh
is how I'm starting to do a manual sweep for valgrind errors.
I'm going DLL by DLL, starting with advapi32, looking
carefully at each valgrind error.

For each error that looks spurious or expected, I will add a
suppression to the existing global suppressions file,
http://code.google.com/p/winezeug/source/browse/trunk/valgrind/valgrind-suppressions

For each error that looks real, I'll try to understand it and fix it if
the error is not deep, or file a wine bug and add a matching suppression to
http://code.google.com/p/winezeug/source/browse/trunk/buildbot/valgrind-blacklist
When bugs get fixed, I'll remove the matching suppressions from that file.

This morning I looked at a grand total of one valgrind warning (in
advapi32/security.c),
and filed http://bugs.winehq.org/show_bug.cgi?id=28628 for it.

I did glance at a couple more; advapi32/crypt.c has a bunch of expected
errors (which I'll probably add to valgrind-suppressions), and atl/atl_ax
has a bunch of what look like real errors (which I'll probably file a bug
for and add to valgrind-blacklist).

It'll probably take quite a while to catalog the baseline errors
and get a complete blacklist.  If it takes too long (more than a few weeks),
I'll chuck it and do a dumb blanket suppression of all existing warnings.



More information about the wine-devel mailing list