|
From: Julian S. <js...@ac...> - 2006-08-25 10:13:01
|
---------- Forwarded Message ---------- Subject: Re: FYI: Valgrind 3.2 port to FreeBSD Date: Tuesday 15 August 2006 22:59 From: Peter Wemm <pe...@we...> To: Julian Seward <js...@ac...> Cc: Nicholas Nethercote <nj...@cs...> Progress update: peter@jt2[2:47pm]~/getpath-123> /home/peter/vginst/bin/valgrind /bin/ls ==74318== Memcheck, a memory error detector. ==74318== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==74318== Using LibVEX rev 1607, a library for dynamic binary translation. ==74318== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==74318== Using valgrind-3.3.0.SVN, a dynamic binary instrumentation framework. ==74318== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==74318== For more details, rerun with: -v ==74318== ==74318== Conditional jump or move depends on uninitialised value(s) ==74318== at 0x102F4B6: ??? (/home/src/lib/libc/../libc/stdlib/malloc.c:675) ==74318== by 0x102F574: ??? (/home/src/lib/libc/../libc/stdlib/malloc.c:717) ==74318== by 0x102FE1C: realloc (/home/src/lib/libc/../libc/stdlib/malloc.c:1130) ==74318== by 0x102BC43: reallocf (/home/src/lib/libc/../libc/stdlib/reallocf.c:35) ==74318== by 0x100F36B: ??? (/home/src/lib/libc/../libc/gen/fts.c:1020) ==74318== by 0x100E2EF: fts_open (/home/src/lib/libc/../libc/gen/fts.c:117) ==74318== by 0x1000B4A: traverse (/home/src/bin/ls/ls.c:434) ==74318== by 0x1000B0B: main (/home/src/bin/ls/ls.c:415) ==74318== ==74318== Conditional jump or move depends on uninitialised value(s) ==74318== at 0x102F4DD: ??? (/home/src/lib/libc/../libc/stdlib/malloc.c:688) ==74318== by 0x102F574: ??? (/home/src/lib/libc/../libc/stdlib/malloc.c:717) ==74318== by 0x102FE1C: realloc (/home/src/lib/libc/../libc/stdlib/malloc.c:1130) ==74318== by 0x102BC43: reallocf (/home/src/lib/libc/../libc/stdlib/reallocf.c:35) ==74318== by 0x100F36B: ??? (/home/src/lib/libc/../libc/gen/fts.c:1020) ==74318== by 0x100E2EF: fts_open (/home/src/lib/libc/../libc/gen/fts.c:117) ==74318== by 0x1000B4A: traverse (/home/src/bin/ls/ls.c:434) ==74318== by 0x1000B0B: main (/home/src/bin/ls/ls.c:415) ==74318== ==74318== Conditional jump or move depends on uninitialised value(s) ==74318== at 0x1021DDA: readdir (/home/src/lib/libc/../libc/gen/readdir.c:60) ==74318== by 0x100EEC1: ??? (/home/src/lib/libc/../libc/gen/fts.c:680) ==74318== by 0x100EAB7: fts_children (/home/src/lib/libc/../libc/gen/fts.c:544) ==74318== by 0x1000CCC: traverse (/home/src/bin/ls/ls.c:477) ==74318== by 0x1000B0B: main (/home/src/bin/ls/ls.c:415) Makefile getpath_fromfd.c obj t.c getpath_fromaddr.c ktrace.out t ==74318== ==74318== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) ==74318== malloc/free: in use at exit: 0 bytes in 0 blocks. ==74318== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==74318== For counts of detected errors, rerun with: -v ==74318== All heap blocks were freed -- no leaks are possible. peter@jt2[2:47pm]~/getpath-124> I've still got a mountain of things to do, but it's getting there. I haven't finished going through and dealing with the things you brought up in the last email yet. But I thought a FYI might be in order. My most recent "problem" was aspacemgr.c:get_name_from_fd() and resolve_filename() in m_libcfile.c. We have no /proc/self/fd/<nn> or equivalent. I didn't want to deal with adding code to track names associated with fd's so I cheated and used a kernel module to extract the current pathnames. It is a hack of the worst kind, but I don't want to deal with it right now. I think we might add the functionality to FreeBSD and use the kernel modules for older releases. BTW: the above traces appear to be real. valgrind 2.2 also complains about the same problem, in spite of the protests from the author of the code in question that it isn't possible... -- Peter Wemm - pe...@we...; peter@FreeBSD.org; pe...@ya... "All of this is for nothing if we don't go to the stars" - JMS/B5 ------------------------------------------------------- |