Valgrind updates
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 27, 2009, 02:50 UTC
- Message-ID
- <alpine.DEB.1.00.0901270327200.26199@intel-tinevez-2-302>
- In-Reply-To
- <alpine.DEB.1.00.0901212259420.3586@pacific.mpi-cbg.de>
Hi,
it is real late now, so I am uncomfortable sending off a new patch series (I _know_ that I'll just introduce a stupid bug or forget to write a commit message or whatever). In case you are interested in the current progress, you know where my branches are.
The changes I made:
- added t/valgrind/templates to t/.gitignore, too,
- split out the valgrind-unrelated parts that Peff complained about,
- added some more suppressions I needed,
- added a mode whereby the tests' results are written to test-results/,
- provided a Makefile target for further convenience,
- added a script to coalesce the valgrind results by backtrace,
- split out a patch that lets --valgrind imply --verbose, and
- ran the scripts several times, which is a PITA because one run takes 5.5 hours (and the first time I forgot to redirect stderr, ouch, thus the test-results/ patch).
I have an output from a previous full run, albeit it was done with an earlier version of the valgrind patch series I was not comfortable with, so I will not send it here. Besides, it is 300K (bzip2 -9 reduces that to 20K), and I am sure you don't want to have it.
Just that much, most of the backtraces are pretty repetitive. In fact, I think most if not all of them touch xwrite.c (I got other errors from my patches, as I expected).
==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) ==valgrind== by 0x4C0C4F: write_sha1_file (sha1_file.c:2418) ==valgrind== by 0x46DBB8: update_one (cache-tree.c:348) ==valgrind== by 0x46D8CF: update_one (cache-tree.c:282) ==valgrind== by 0x46DCCA: cache_tree_update (cache-tree.c:373) ==valgrind== by 0x46E2B5: write_cache_as_tree (cache-tree.c:562) ==valgrind== by 0x4662D4: cmd_write_tree (builtin-write-tree.c:36) ==valgrind== by 0x404F37: run_command (git.c:243) ==valgrind== Address 0x713dc23 is 51 bytes inside a block of size 195 alloc'd ==valgrind== at 0x4C2273B: malloc (in /usr/local/lib/valgrind/amd64-linux/vgpreload_memcheck.so) ==valgrind== by 0x4CFFCC: xmalloc (wrapper.c:20) ==valgrind== by 0x4C0A33: write_loose_object (sha1_file.c:2362) ==valgrind== by 0x4C0C4F: write_sha1_file (sha1_file.c:2418) ==valgrind== by 0x46DBB8: update_one (cache-tree.c:348) ==valgrind== by 0x46D8CF: update_one (cache-tree.c:282) ==valgrind== by 0x46DCCA: cache_tree_update (cache-tree.c:373) ==valgrind== by 0x46E2B5: write_cache_as_tree (cache-tree.c:562) ==valgrind== by 0x4662D4: cmd_write_tree (builtin-write-tree.c:36) ==valgrind== by 0x404F37: run_command (git.c:243) ==valgrind== by 0x4050E4: handle_internal_command (git.c:387) ==valgrind== by 0x4051CA: run_argv (git.c:425)
which can be reproduced by running t0000-basic.out in valgrind mode.
Good night, Vietnam, Dscho