Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3526: Data races in boost::thread detected by drd/helgrind
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-19 13:14:16
#3526: Data races in boost::thread detected by drd/helgrind
--------------------------------------+-------------------------------------
Reporter: m.strashun@⦠| Owner: anthonyw
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: thread
Version: Boost Development Trunk | Severity: Regression
Resolution: invalid | Keywords: valgrind,drd,threading
--------------------------------------+-------------------------------------
Comment (by Frederick Roth <f-roth@â¦>):
I get the following output with valgrind 3.6.1 and drd:
{{{
[froth_at_megaera ~]$ valgrind --tool=drd ./a.out
==9839== drd, a thread error detector
==9839== Copyright (C) 2006-2010, and GNU GPL'd, by Bart Van Assche.
==9839== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==9839== Command: ./a.out
==9839==
==9839== Thread 3:
==9839== Conflicting load by thread 3 at 0x040431ec size 4
==9839== at 0x4035873: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Allocation context: BSS section of /usr/lib/libboost_thread-
mt.so.1.47.0
==9839== Other segment start (thread 2)
==9839== at 0x400AC73: pthread_mutex_lock
(drd_pthread_intercepts.c:587)
==9839== by 0x42E63C03: pthread_mutex_lock (in /lib/libc-2.14.90.so)
==9839== by 0x403595B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x40358CD: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment start (thread 2)
==9839== at 0x400AC73: pthread_mutex_lock
(drd_pthread_intercepts.c:587)
==9839== by 0x42E63C03: pthread_mutex_lock (in /lib/libc-2.14.90.so)
==9839== by 0x403589A: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x403593B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839==
==9839== Conflicting load by thread 3 at 0x040431e8 size 4
==9839== at 0x4035879: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Allocation context: BSS section of /usr/lib/libboost_thread-
mt.so.1.47.0
==9839== Other segment start (thread 2)
==9839== at 0x400AC73: pthread_mutex_lock
(drd_pthread_intercepts.c:587)
==9839== by 0x42E63C03: pthread_mutex_lock (in /lib/libc-2.14.90.so)
==9839== by 0x403595B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x40358CD: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment start (thread 2)
==9839== at 0x400AC73: pthread_mutex_lock
(drd_pthread_intercepts.c:587)
==9839== by 0x42E63C03: pthread_mutex_lock (in /lib/libc-2.14.90.so)
==9839== by 0x403589A: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x403593B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839==
==9839== Thread 1:
==9839== Conflicting load by thread 1 at 0x040431ec size 4
==9839== at 0x4035873: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42D7C6B2: (below main) (in /lib/libc-2.14.90.so)
==9839== Allocation context: BSS section of /usr/lib/libboost_thread-
mt.so.1.47.0
==9839== Other segment start (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x403593B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x40358CD: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment start (thread 2)
==9839== at 0x42E55828: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x403593B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839==
==9839== Conflicting load by thread 1 at 0x040431e8 size 4
==9839== at 0x4035879: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42D7C6B2: (below main) (in /lib/libc-2.14.90.so)
==9839== Allocation context: BSS section of /usr/lib/libboost_thread-
mt.so.1.47.0
==9839== Other segment start (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x403593B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x40358CD: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839== Other segment start (thread 2)
==9839== at 0x42E55828: clone (in /lib/libc-2.14.90.so)
==9839== Other segment end (thread 2)
==9839== at 0x400B508: pthread_mutex_unlock
(drd_pthread_intercepts.c:640)
==9839== by 0x42E63C43: pthread_mutex_unlock (in /lib/libc-2.14.90.so)
==9839== by 0x403593B: ??? (in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x4035B84:
boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
(in /usr/lib/libboost_thread-mt.so.1.47.0)
==9839== by 0x42F17CD2: start_thread (in /lib/libpthread-2.14.90.so)
==9839== by 0x42E5583D: clone (in /lib/libc-2.14.90.so)
==9839==
==9839==
==9839== For counts of detected and suppressed errors, rerun with: -v
==9839== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 42 from 22)
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3526#comment:11> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:08 UTC