On Sat, Jun 5, 2010 at 5:47 AM, Bart Van Assche <bvanass...@acm.org> wrote:
> On Sat, Jun 5, 2010 at 2:52 AM, Jorge Moraleda <jorge.moral...@gmail.com> 
> wrote:
>>
>> I got a drd error in one of my programs, and searching on the web I
>> found the following boost bug report, including a test sample
>> reporting the same error found with drd.
>> https://svn.boost.org/trac/boost/ticket/3526 with a similar error.
>>
>> There they seem to conclude that this is not a real problem, but I
>> wanted to get your opinion. I can reproduce the error. I am running
>> boost 1.43 and valgrind 11150M (with Bart's linker fix, thank you!!!).
>
> You are welcome to test Valgrind r11146 or later (unmodified) --
> Julian has fixed the "mmap(...) failed in UME with error 22 (Invalid
> argument)" error message.
>
>> This is the test code they provide in the link above.
>> [ ... ]
>> This is my valgrind output when compiled with "g++ -l boost_thread main.cpp"
>> valgrind --tool=drd ./a.out
>> ==7014== drd, a thread error detector
>> ==7014== Copyright (C) 2006-2010, and GNU GPL'd, by Bart Van Assche.
>> ==7014== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright 
>> info
>> ==7014== Command: ./a.out
>> ==7014==
>> ==7014== Thread 3:
>> ==7014== Conflicting store by thread 3 at 0x0504c750 size 8
>> ==7014==    at 0x4E41A23: T.1292 (in 
>> /usr/local/lib/libboost_thread.so.1.43.0)
>> [ ... ]
>
> Looks like a false positive on current_thread_tls_key to me, so I have
> added a suppression pattern in r11152.
>
> Bart.
>

Thank you Bart. I still get an error using r11158:

==19714== drd, a thread error detector
==19714== Copyright (C) 2006-2010, and GNU GPL'd, by Bart Van Assche.
==19714== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
==19714== Command: ./a.out
==19714==
==19714== Thread 3:
==19714== Conflicting load by thread 3 at 0x0504c750 size 8
==19714==    at 0x4E41994: T.1292 (in /usr/local/lib/libboost_thread.so.1.43.0)
==19714== Allocation context: BSS section of
/usr/local/lib/libboost_thread.so.1.43.0
==19714== Other segment start (thread 2)
==19714==    at 0x4C2F283: pthread_mutex_lock (drd_pthread_intercepts.c:578)
==19714==    by 0x4E41A4D: T.1292 (in /usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4E41D98:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4E41F54: thread_proxy (in
/usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4C2EA60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272)
==19714==    by 0x5B608B9: start_thread (pthread_create.c:300)
==19714==    by 0x58C803C: clone (clone.S:112)
==19714== Other segment end (thread 2)
==19714==    at 0x4C2FE7F: pthread_mutex_unlock (drd_pthread_intercepts.c:631)
==19714== Other segment start (thread 2)
==19714==    at 0x4C2F283: pthread_mutex_lock (drd_pthread_intercepts.c:578)
==19714==    by 0x4E419BB: T.1292 (in /usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4E41D98:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4E41F54: thread_proxy (in
/usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4C2EA60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272)
==19714==    by 0x5B608B9: start_thread (pthread_create.c:300)
==19714==    by 0x58C803C: clone (clone.S:112)
==19714== Other segment end (thread 2)
==19714==    at 0x4C2FE7F: pthread_mutex_unlock (drd_pthread_intercepts.c:631)
==19714==    by 0x4E41A32: T.1292 (in /usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4E41D98:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4E41F54: thread_proxy (in
/usr/local/lib/libboost_thread.so.1.43.0)
==19714==    by 0x4C2EA60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272)
==19714==    by 0x5B608B9: start_thread (pthread_create.c:300)
==19714==    by 0x58C803C: clone (clone.S:112)
==19714==
==19714==
==19714== For counts of detected and suppressed errors, rerun with: -v
==19714== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 46 from 46)

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to