On Mon, May 01, 2017 at 01:23:28PM +0200, René Scharfe wrote: > Am 24.04.2017 um 12:39 schrieb Duy Nguyen: > > BTW, I ran t7009 with valgrind and it reported this. Is it something > > we should be worried about? I vaguely recall you're doing something > > with prio-queue... > > > > ==4246== Source and destination overlap in memcpy(0x5952990, 0x5952990, 16) > > ==4246== at 0x4C2EACD: memcpy@@GLIBC_2.14 (in > > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==4246== by 0x545D05: swap (prio-queue.c:15) > > ==4246== by 0x545D72: prio_queue_reverse (prio-queue.c:25) > > ==4246== by 0x4CBC0C: sort_in_topological_order (commit.c:723) > > ==4246== by 0x574C97: prepare_revision_walk (revision.c:2858) > > ==4246== by 0x48A2BA: cmd_rev_list (rev-list.c:385) > > ==4246== by 0x405A6F: run_builtin (git.c:371) > > ==4246== by 0x405CDC: handle_builtin (git.c:572) > > ==4246== by 0x405E51: run_argv (git.c:624) > > ==4246== by 0x405FF3: cmd_main (git.c:701) > > ==4246== by 0x4A48CE: main (common-main.c:43) > > I can only get gcc and clang to call memcpy instead of inlining it by > specifying -fno-builtin. Do you use that option? If yes, why? (Just > curious.) I do my normal edit-compile cycles with -O0 because it's fast, and because it makes debugging much easier. > But I can't get Valgrind to report overlapping (nicely explained in > http://valgrind.org/docs/manual/mc-manual.html#mc-manual.overlap, by > the way), not for t7009 and not for the short test program at the > bottom. Do you set flags in GIT_VALGRIND_OPTIONS or use a special > version of Valgrind? I use valgrind-3.12.0.SVN from Debian testing. I saw it with 3.12.0-1.1 on Debian unstable. -Peff