This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix 2 issues found by valgrind


On Wed, Dec 01, 2004 at 11:56:45AM -0800, Roland McGrath wrote:
> I applied those fixes.   Can you make publically visible somewhere the
> error reports you are looking into?  If you have already classified some as
> false-positive, that is helpful for all to see as well.

The false positives are e.g. in tst-fmemopen and several others (see
attached valgrind-bug2.c for simplified testcase):

Another one is:
==12068== Conditional jump or move depends on uninitialised value(s)
==12068==    at 0x1B9A2A0B: re_compile_fastmap_iter (regcomp.c:356)
==12068==    by 0x1B9A2E9B: re_compile_fastmap (regcomp.c:301)
==12068==    by 0x1B9AC671: regcomp (regcomp.c:515)
==12068==    by 0x8048C73: test (tst-rxspencer.c:214)
(see attached valgrind-bug1.c).

Anything with -lpthread apparently can't be trusted with valgrind,
as valgrind's -lpthread is very incomplete and not compatible
with NPTL libc.so.

Then there are things like:
==15623== Syscall param sigqueueinfo(uinfo) contains uninitialised or unaddressable byte(s)
==15623==    at 0x1B90BFE7: __aio_sigqueue (aio_sigqueue.c:51)
==15623==    by 0x1B90C0F5: __aio_notify_only (aio_notify.c:108)
==15623==    by 0x1B90C209: __aio_notify (aio_notify.c:160)
==15623==    by 0x1B90AD89: handle_fildes_io (aio_misc.c:595)
==15623==  Address 0x1BF87D37 is on thread 2's stack

==15702== Syscall param timer_create(evp) contains uninitialised or unaddressable byte(s)
==15702==    at 0x1B90CCA4: timer_create (timer_create.c:91)
==15702==    by 0x8048BBF: do_timer_create (tst-timer3.c:22)
==15702==    by 0x1B922925: thread_wrapper (vg_libpthread.c:867)
==15702==    by 0xB000F14F: do__quit (vg_scheduler.c:1872)
==15702==  Address 0x52BFDC44 is on thread 1's stack

==15866== Syscall param socketcall.sendto(msg) contains uninitialised or unaddressable byte(s)
==15866==    at 0x1B9D3731: sendto (socket.S:65)
==15866==    by 0x1B9EEAA2: if_nameindex (if_index.c:192)
==15866==    by 0x80485F4: main (test_ifindex.c:31)
==15866==  Address 0x52BFDC0D is on thread 1's stack
==15866==
==15866== Syscall param ioctl(SIOCGIFNAME) contains uninitialised or unaddressable byte(s)
==15866==    at 0x1B9CA959: ioctl (in /usr/src/libc/obj32/libc.so)
==15866==    by 0x8048663: main (test_ifindex.c:52)
==15866==  Address 0x1 is not stack'd, malloc'd or (recently) free'd

==15881== Syscall param socketcall.sendto(msg) contains uninitialised or unaddressable byte(s)
==15881==    at 0x1B9D3731: sendto (socket.S:65)
==15881==    by 0x1B9EF35F: getifaddrs (ifaddrs.c:292)
==15881==    by 0x8048559: main (test-ifaddrs.c:70)
==15881==  Address 0x52BFDADD is on thread 1's stack
==15881==
==15881== Syscall param socketcall.sendto(msg) contains uninitialised or unaddressable byte(s)
==15881==    at 0x1B9D3731: sendto (socket.S:65)
==15881==    by 0x1B9EF397: getifaddrs (ifaddrs.c:310)
==15881==    by 0x8048559: main (test-ifaddrs.c:70)
==15881==  Address 0x52BFDADD is on thread 1's stack

etc.

	Jakub

Attachment: valgrind-bug1.c
Description: Text document

Attachment: valgrind-bug2.c
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]