Hi all,

I am working with the svn version of valgrind (updated this morning).
I see a series of violations in drd which I can not identify the root
cause. An example violation looks like this:

==22593== Thread 3:
==22593== Conflicting load by thread 3 at 0x3401e1b328 size 4
==22593==    at 0x3401C0E090: write (in /lib64/libpthread-2.11.1.so)
==22593==    by 0x41D99A: dbgprint (debug.c:894)
==22593==    by 0x41DB08: dbgprintf (debug.c:987)
==22593==    by 0x4258B3: asyncWriterThread (stream.c:939)
==22593==    by 0x4A12280: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272)
==22593==    by 0x3401C06A39: start_thread (in /lib64/libpthread-2.11.1.so)
==22593== Allocation context: BSS section of /lib64/libpthread-2.11.1.so
==22593== Other segment start (thread 1)
==22593==    at 0x4A0993F: pthread_mutex_unlock (drd_pthread_intercepts.c:633)
==22593==    by 0x427CEA: wtiSetState (wti.c:156)
==22593==    by 0x427946: wtpAdviseMaxWorkers (wtp.c:519)
==22593==    by 0x42C361: qqueueStart (queue.c:150)
==22593==    by 0x40BA4A: init (syslogd.c:2400)
==22593==    by 0x40C569: mainThread (syslogd.c:2856)
==22593==    by 0x40DA16: realMain (syslogd.c:3554)
==22593==    by 0x340101EB1C: (below main) (in /lib64/libc-2.11.1.so)
==22593== Other segment end (thread 1)
==22593==    at 0x34010DE621: clone (in /lib64/libc-2.11.1.so)
==22593==    by 0x3401C06333: do_clone.clone.0 (in /lib64/libpthread-2.11.1.so)
==22593==    by 0x3401C07001: pthread_create@@GLIBC_2.2.5 (in
/lib64/libpthread-2.11.1.so)
==22593==    by 0x4A11DE8: pthread_cre...@* (drd_pthread_intercepts.c:409)
==22593==    by 0x42795B: wtpAdviseMaxWorkers (wtp.c:520)
==22593==    by 0x42C361: qqueueStart (queue.c:150)
==22593==    by 0x40BA4A: init (syslogd.c:2400)
==22593==    by 0x40C569: mainThread (syslogd.c:2856)
==22593==    by 0x40DA16: realMain (syslogd.c:3554)
==22593==    by 0x340101EB1C: (below main) (in /lib64/libc-2.11.1.so)
==22593==

I can not identify which variable is at 0x3401e1b328. Given the alloc
context, it looks like it is a static variable in the pthreads
context. The code in question [1] does proper mutex locks before and
after the relevant section. At least this is what I can identify. So I
conclude that this is a "problem" in pthreads and I can safely create
supressions for it. On the other hand, I do not understand why this
only occurs in this instant, so I thought I better ask...

Is this something that I can simply suppress or does it look like a
real issue? If it is a real issue, can someone provide some advise on
how to track it down?

Thanks,
Rainer


[1] 
http://git.adiscon.com/?p=rsyslog.git;a=blob;f=runtime/debug.c;h=da471609f01c6e11dd3274819b6d8f48bc0695de;hb=refs/heads/v4-devel#l842

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to