Hello all,

This is my first post. I am using Valgrind 3.4.1.  The application I was 
testing for what seems to be memory corruption is compiled along with 
dlmalloc-2.8.3.c

Has anyone had experience with this?  Will I be seeing "false positives"? 
If I recall, I had used this in a past (3.1?) Valgrind and had to remove 
dlmalloc due to too many reports from helgrind - my memory is poor but I 
seem to recall something of the sort. Right now, it is only reporting a 
very small amount of entries and they do seem to be around 'fishy' code 
for the most part.

However, one such report has me baffled, it usually appears in most all 
reports:
==28103== Thread #3 was created
==28103==    at 0x3329FC3AE1: clone (in /lib64/tls/libc-2.3.3.so)
==28103==    by 0x332BB0645D: pthread_create@@GLIBC_2.2.5 (in 
/lib64/tls/libpthread-2.3.3.so)
==28103==    by 0x4907974: pthread_cre...@* (hg_intercepts.c:214)
==28103==    by 0x608694: tp::Thread::start() (Thread.C:56)
==28103==    by 0x5C831E: RnrFw::RnrFactory::startRnr() 
(RnrFactory.cpp:242)
==28103==    by 0x4E53F2: RnrProxy::startup() (RnrProxy.C:121)
==28103==    by 0x4941FD: main (....C:894)
==28103== 
==28103== Thread #1 is the program's root thread
==28103== 
==28103== Possible data race during read of size 1 at 0x82bee0 by thread 
#3
==28103==    at 0x4A9111: free (dlmalloc-2.8.3.c:2416)
==28103==    by 0x332BDAFF28: __cxa_free_exception (in 
/usr/lib64/libstdc++.so.6.0.3)
==28103==    by 0x5D3051: RnrFw::SendHandler::send(char const*, unsigned 
long) (SendHandler.cpp:120)
..stack trace snipped
==28103==    by 0x49078C3: mythread_wrapper (hg_intercepts.c:194)
==28103==    by 0x332BB05F80: start_thread (in 
/lib64/tls/libpthread-2.3.3.so)
==28103==    by 0x3329FC3AF2: clone (in /lib64/tls/libc-2.3.3.so)
==28103==  This conflicts with a previous write of size 1 by thread #1
==28103==    at 0x4A9B22: malloc (dlmalloc-2.8.3.c:3407)
==28103==    by 0x4D303D: SymbolDataStore::tokenAlloc(symbolRec*, 
MetaToken const&, int) (symboldb.C:589)
==28103==    by 0x4D33B3: SymbolDataStore::updateIToken(symbolRec*, 
MetaToken const&, long) (symboldb.C:635)
... more stack trace


I suspected either something I am not seeing in the way the exception is 
created or more likely (I think? ;) ) something occuring as a result of 
the freeing of the exception memory after the stack was unwound - perhaps 
due to dlmalloc either bug or false positive.

Note, dlmalloc is compiled into the app with -USE_LOCKS set.

Thanks!
Dan



Now, while writing this, I ran under DRD (I didn't know about this tool 
until now) - I have not yet examined this as I have a meetign in 7 
minutes.
==11369== Thread 3:
==11369== Conflicting load by thread 3/3 at 0x0082bf00 size 1
==11369==    at 0x4A9111: free (dlmalloc-2.8.3.c:2416)
==11369==    by 0x332BDAFF28: __cxa_free_exception (in 
/usr/lib64/libstdc++.so.6.0.3)
==11369==    by 0x5D3081: RnrFw::SendHandler::send(char const*, unsigned 
long) (SendHandler.cpp:121)
..snipped stack trace...
==11369==    by 0x49085BE: vg_thread_wrapper 
(drd_pthread_intercepts.c:193)
==11369==    by 0x332BB05F80: start_thread (in 
/lib64/tls/libpthread-2.3.3.so)
==11369==    by 0x3329FC3AF2: clone (in /lib64/tls/libc-2.3.3.so)
==11369== Allocation context: BSS section of /home/ddelgado/...
==11369== Other segment start (thread 1/1)
==11369==    at 0x4909096: pthread_mutex_lock 
(drd_pthread_intercepts.c:417)
==11369==    by 0x4A9AE0: malloc (dlmalloc-2.8.3.c:3358)
==11369==    by 0x48EE4B: zcalloc (in /home/ddelgado/...)
...snipped stack trace....
==11369==    by 0x4944A2: main (...:954)

==11369== Other segment end (thread 1/1)
==11369==    at 0x49093F4: pthread_mutex_unlock 
(drd_pthread_intercepts.c:463)
==11369==    by 0x4A9B31: malloc (dlmalloc-2.8.3.c:3410)
==11369==    by 0x48EE4B: zcalloc (in /home/ddelgado/....)
...snipped stack trace....
==11369==    by 0x4944A2: main (...:954)


 
Dan Delgado | Senior Software Engineer
*  Interactive Data Real-Time Services | 100 Hillside Ave. | White Plains, 
NY 10603 | USA
(  914-313-4296  8  [email protected]
 
 
 
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to