Please have a look at the current Valgrind warnings

Dan Kegel dank at kegel.com
Sun Jun 8 23:50:12 CDT 2008


After a few days of cleaning up Valgrind warnings
in the Wine source tree, and adding suppressions
where it made sense. I've whittled the list of
Valgrind warnings down to 300 or so.

This list is short enough that a mortal can look upon it
without dispair, and even see a number of things
that might be real bugs.

The histogram of frequent errors is at
http://kegel.com/wine/valgrind/logs-2008-06-08.counts.txt
and shows one call stack per line (only top three locations
are represented for each call stack).

A few groups of warnings stand out:
10 of them are invalid calls to free() or friends,
30 of them involve WideCharToMultiByte,
50 of them are in ds3d or ds3d8, and
60 of them are in Gecko.
(Ooodles and oodles are caused by nvidia's libgl,
libfontconfig, libexpat, and libc; most of these are
suppressed, or you'd die of bordom or anger reading the logs.)

As before, the log broken out by directory is at
http://kegel.com/wine/valgrind/logs-2008-06-08/

The full log is at
http://kegel.com/wine/valgrind/logs-2008-06-08.log.gz

This is run with --track-origins=yes, so you get nifty
stack tracebacks for where the undefined values
got their initial, um, nonvalue.  This is often quite
helpful for narrowing down the cause.

The diff against CVS of the tree I ran this on is at
http://kegel.com/wine/valgrind/logs-2008-06-08-patch.txt
and is mostly the valgrind cleanup patches I've written
that have not yet been committed (plus one rough one
from Juan).  It's given for completeness; I'll resubmit
the individual patches once 1.0 is out.

Oh, and the suppressions file I use is rather bigger now.
As always, it's at
http://kegel.com/wine/valgrind/valgrind-suppressions

If you've read this far, congratulations and thanks.  Please consider
triaging one of these warnings.  Just pick one at random, and
if you really figure it out, please submit a fix; be sure
to include the valgrind warning in the description of the patch.
Even if all you figure out is how to improve the test
and thereby not generate Valgrind warnings, that's great,
please send in your patch.  Every test we make squeaky-clean
improves the signal-to-noise ratio for finding real problems.
(But please don't submit any change you don't really
understand, or that seems risky.  The goal is not to clean
up Valgrind warnings; it's to improve the quality of the test suite.)
- Dan



More information about the wine-devel mailing list