|
From: Shavian S. <sha...@ya...> - 2004-05-03 20:03:56
|
Hi,
I am running valgrind checked out and complied on Red
Hat AS 3.0:
# more /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon)
# uname -a
Linux evdev04 2.4.21-4.EL #4 Tue Mar 9 13:41:05 EST
2004 i686 i686 i386 GNU/Linux
The program I am running is a multithreaded C++
daemon. It used to run find under valgrind 2.0.0 , but
with the valgrind compiled from the sources (checkout
out 5/2), it looks like there are problems in
pthread_mutex_lock/trylock (and possibly in execvp()
??). I am not able to pinpoint what exactly the
problem is. The relevant log snippets are below:
189 ==28878== pthread_mutex_lock/trylock: mutex is
invalid
190 ==28878== at 0x757608E3: pthread_mutex_lock
(vg_libpthread.c:1167)
191 ==28878== by 0x75764E45: _IO_flockfile
(vg_libpthread.c:3193)
192 ==28878== by 0x775423BA:
istream::getline(char *, int, char) (in
/opt/VRTSfdpr/lib/fdpr.so)
193 ==28878== by 0x77508F26:
InitializeEnvAndDb(void) (in
/opt/VRTSfdpr/lib/fdpr.so)
194 ==28878== Reading syms from
/opt/VRTSgcspr/lib/gcspr.so (0x77722000)
195 ==28878==
196 ==28878== pthread_mutex_lock/trylock: mutex
has invalid owner
197 ==28878== at 0x757608E3: pthread_mutex_lock
(vg_libpthread.c:1167)
198 ==28878== by 0x75764E45: _IO_flockfile
(vg_libpthread.c:3193)
199 ==28878== by 0x779A2B8A:
istream::getline(char *, int, char) (in
/opt/VRTSgcspr/lib/gcspr.so)
200 ==28878== by 0x77917EAE:
InitializeEnvAndDb(void) (gcspr.cpp:1059)
201 ==28878== Reading syms from
/opt/VRTSsvmlicpro/lib/svmlic.so (0x77DB3000)
202 ==28896==
203 ==28896== Thread 14:
204 ==28896== Syscall param execve(envp[i])
contains unaddressable byte(s)
205 ==28896== at 0x758362FF: execve (in
/lib/tls/libc-2.3.2.so)
206 ==28896== by 0x758365C2: execl (in
/lib/tls/libc-2.3.2.so)
207 ==28896== by 0x757EEB42:
_IO_proc_open@@GLIBC_2.1 (in /lib/tls/libc-2.3.2.so)
208 ==28896== by 0x757EEBD9:
_IO_popen@@GLIBC_2.1 (in /lib/tls/libc-2.3.2.so)
209 ==28896== Address 0x9BFFEB30 is not stack'd,
malloc'd or (recently) free'd
210 ==28896== Addrcheck, a fine-grained address
checker for x86-linux.
211 ==28896== Copyright (C) 2002-2004, and GNU
GPL'd, by Julian Seward.
212 ==28896== Using valgrind-2.1.2.CVS, a program
supervision framework for x86-linux.
213 ==28896== Copyright (C) 2000-2004, and GNU
GPL'd, by Julian Seward.
214 ==28896== Valgrind library directory:
/usr/local/lib/valgrind
Note that the same daemon works perfectly fine in
valgrind 2.0.0.
Any one faced similar issues or know any workarounds ?
Can it be some compilation issue?
thanks for any help.
Shavian.
__________________________________
Do you Yahoo!?
Win a $20,000 Career Makeover at Yahoo! HotJobs
http://hotjobs.sweepstakes.yahoo.com/careermakeover
|