valgrind and buildbot
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
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,
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
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
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