From: Jeff King Date: Tue, 27 Jan 2009 04:48:38 GMT Subject: Re: Valgrind updates Message-ID: <20090127044838.GA735@coredump.intra.peff.net> In-Reply-To: On Mon, Jan 26, 2009 at 07:38:56PM -0800, Linus Torvalds wrote: > > ==valgrind== Syscall param write(buf) points to uninitialised byte(s) > > ==valgrind== at 0x5609E40: __write_nocancel (in /lib/libpthread-2.6.1.so) > > ==valgrind== by 0x4D0380: xwrite (wrapper.c:129) > > ==valgrind== by 0x4D046E: write_in_full (wrapper.c:159) > > ==valgrind== by 0x4C0697: write_buffer (sha1_file.c:2275) > > ==valgrind== by 0x4C0B1C: write_loose_object (sha1_file.c:2387) > > Looks entirely bogus. > > I suspect that valgrind for some reason doesn't see the writes made by > zlib as being initialization, possibly due to some incorrect valgrind > annotations on deflate(). We've just totally initialized that whole > buffer with deflate(). > > It definitely does not look like a git bug, but a valgrind run issue. Yes, this is exactly the issue I ran into when doing the valgrind stuff a few months ago. I spent several hours looking carefully at the code and came to the same conclusion. Anything zlib touches needs to be manually suppressed for uninitialized writes (which I _thought_ was covered in the suppressions I sent out originally, but maybe they need to be tweaked for Dscho's system). -Peff