Skip to content

Instantly share code, notes, and snippets.

@djsutherland
Created January 30, 2012 21:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save djsutherland/1706984 to your computer and use it in GitHub Desktop.
Save djsutherland/1706984 to your computer and use it in GitHub Desktop.
==43388== drd, a thread error detector
==43388== Copyright (C) 2006-2011, and GNU GPL'd, by Bart Van Assche.
==43388== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==43388== Command: ./testing
==43388== Parent PID: 74761
==43388==
==43388== Thread 2:
==43388== Conflicting load by thread 2 at 0x0004b518 size 8
==43388== at 0x3B837: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b378 size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x3C280: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b370 size 8
==43388== at 0x2D7DD1: pthread_once (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x3C280: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b530 size 8
==43388== at 0x3C2C2: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b530 size 8
==43388== at 0x3C2F5: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x00375670 size 4
==43388== at 0x31E809: pthread_setspecific (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x3C30A: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b380 size 8
==43388== at 0x2D6F91: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b38d size 1
==43388== at 0x2D7092: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b38c size 4
==43388== at 0x2D70B9: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b398 size 4
==43388== at 0x2D7132: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b39c size 4
==43388== at 0x2D7139: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b398 size 8
==43388== at 0x31E547: OSAtomicCompareAndSwap64$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x0004b3a0 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b38c size 4
==43388== at 0x2D71C7: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B873: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b518 size 8
==43388== at 0x3BAB2: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b360 size 8
==43388== at 0x3BAC6: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b380 size 8
==43388== at 0x2D75AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b38c size 4
==43388== at 0x2D72D3: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b398 size 4
==43388== at 0x2D7480: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b39c size 4
==43388== at 0x2D748F: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b3a0 size 8
==43388== at 0x2D7446: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x0004b3a0 size 8
==43388== at 0x2D744C: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b398 size 8
==43388== at 0x31E547: OSAtomicCompareAndSwap64$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37360: boost::pthread::pthread_mutex_scoped_lock::unlock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x373D2: boost::pthread::pthread_mutex_scoped_lock::~pthread_mutex_scoped_lock() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3BADB: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b520 size 8
==43388== at 0x2BCD5: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x00375680 size 4
==43388== at 0x31E809: pthread_setspecific (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2BCEA: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BA62: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b518 size 8
==43388== at 0x3B837: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BADB: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b530 size 8
==43388== at 0x3C2C2: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BCD4: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BADB: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x0004b520 size 8
==43388== at 0x2BCD5: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BADB: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x00375680 size 4
==43388== at 0x31E809: pthread_setspecific (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2BCEA: boost::detail::set_current_thread_data(boost::detail::thread_data_base*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BADB: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x100044ef0 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002A84: boost::mutex::lock() (mutex.hpp:52)
==43388== by 0x36FC5: boost::lock_guard<boost::mutex>::lock_guard(boost::mutex&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BB18: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x100045030 size 1
==43388== at 0x2BB37: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Address 0x100045030 is at offset 400 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x100044f30 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x37584: boost::condition_variable::notify_all() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BB71: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Address 0x100044f30 is at offset 144 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x100044f60 size 8
==43388== at 0x2DCA6F: pthread_cond_broadcast (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x3759D: boost::condition_variable::notify_all() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BB71: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Address 0x100044f60 is at offset 192 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting load by thread 2 at 0x100044ef0 size 8
==43388== at 0x2D7446: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002454: boost::mutex::unlock() (mutex.hpp:61)
==43388== by 0x37228: boost::lock_guard<boost::mutex>::~lock_guard() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BB87: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Conflicting store by thread 2 at 0x100044ef0 size 8
==43388== at 0x2D744C: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002454: boost::mutex::unlock() (mutex.hpp:61)
==43388== by 0x37228: boost::lock_guard<boost::mutex>::~lock_guard() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BB87: thread_proxy (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D88BE: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 1)
==43388== at 0x41B4DE: __bsdthread_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2B959: boost::thread::start_thread() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100001B54: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:204)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment end (thread 1)
==43388== at 0x41BBCA: __psynch_cvwait (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388==
==43388== Thread 1:
==43388== Conflicting store by thread 1 at 0x100044f30 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DC2FA: _pthread_cond_wait (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x3C0C3: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044f30 is at offset 144 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0x100044f30 size 8
==43388== at 0x2D7446: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x374AB: boost::detail::interruption_checker::~interruption_checker() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3C0DC: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044f30 is at offset 144 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting store by thread 1 at 0x100044f30 size 8
==43388== at 0x2D744C: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x374AB: boost::detail::interruption_checker::~interruption_checker() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3C0DC: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044f30 is at offset 144 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting store by thread 1 at 0x100044ef0 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002A84: boost::mutex::lock() (mutex.hpp:52)
==43388== by 0x10000293D: boost::unique_lock<boost::mutex>::lock() (locks.hpp:412)
==43388== by 0x370CB: boost::thread_cv_detail::lock_on_exit<boost::unique_lock<boost::mutex> >::~lock_on_exit() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3C120: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0x0004b378 size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x3C280: boost::detail::get_once_per_thread_epoch() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3B842: void boost::call_once<void (*)()>(boost::once_flag&, void (*)()) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2BEA0: boost::detail::get_current_thread_data() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2C98C: boost::this_thread::interruption_point() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x3C125: boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D28A: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of r/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0x100045030 size 1
==43388== at 0x2D2A9: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100045030 is at offset 400 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0x100044ef0 size 8
==43388== at 0x2D7446: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002454: boost::mutex::unlock() (mutex.hpp:61)
==43388== by 0x100002421: boost::unique_lock<boost::mutex>::~unique_lock() (locks.hpp:403)
==43388== by 0x1000023E4: boost::unique_lock<boost::mutex>::~unique_lock() (locks.hpp:400)
==43388== by 0x2D3A7: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting store by thread 1 at 0x100044ef0 size 8
==43388== at 0x2D744C: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D76AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002454: boost::mutex::unlock() (mutex.hpp:61)
==43388== by 0x100002421: boost::unique_lock<boost::mutex>::~unique_lock() (locks.hpp:403)
==43388== by 0x1000023E4: boost::unique_lock<boost::mutex>::~unique_lock() (locks.hpp:400)
==43388== by 0x2D3A7: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0x0036efb8 size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E6B9: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081044 size 4
==43388== at 0x2D9170: _pthread_find_thread (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D9207: _pthread_lookup_thread (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E6B9: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081014 size 1
==43388== at 0x2D9229: _pthread_lookup_thread (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E6B9: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081044 size 4
==43388== at 0x2D9253: _pthread_lookup_thread (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E6B9: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081000 size 8
==43388== at 0x28E6C2: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081017 size 1
==43388== at 0x28E6D5: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== at 0x2DBB68: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment end (thread 2)
==43388== at 0x41A67A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x412D38: semaphore_create (in /usr/lib/system/libsystem_kernel.dylib)
==43388== by 0x2D90F7: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388==
==43388== Conflicting load by thread 1 at 0x0037190c size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E8A3: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371910 size 4
==43388== at 0x2D907F: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E8A3: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371914 size 4
==43388== at 0x2D9085: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E8A3: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371918 size 8
==43388== at 0x2D910A: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E8A3: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x1000453a4 size 4
==43388== at 0x2D9111: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E8A3: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x1000453a4 is at offset 4 from 0x1000453a0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xD34F: realloc (vg_replace_malloc.c:635)
==43388== by 0x2D90AA: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x00371914 size 4
==43388== at 0x2D9116: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E8A3: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081010 size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081014 size 1
==43388== at 0x28E8BC: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081044 size 4
==43388== at 0x28E8D5: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb00828a8 size 4
==43388== at 0x28E8F7: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x0037190c size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E93E: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371914 size 4
==43388== at 0x2D7D73: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E93E: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371918 size 8
==43388== at 0x2D7D7B: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E93E: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x00371914 size 4
==43388== at 0x2D7D82: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E93E: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x1000453a4 size 4
==43388== at 0x2D7D8B: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E93E: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x1000453a4 is at offset 4 from 0x1000453a0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xD34F: realloc (vg_replace_malloc.c:635)
==43388== by 0x2D90AA: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x0037190c size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E99B: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371914 size 4
==43388== at 0x2D7D73: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E99B: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x00371918 size 8
==43388== at 0x2D7D7B: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E99B: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x00371914 size 4
==43388== at 0x2D7D82: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E99B: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x1000453a0 size 4
==43388== at 0x2D7D8B: restore_sem_to_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E99B: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x1000453a0 is at offset 0 from 0x1000453a0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xD34F: realloc (vg_replace_malloc.c:635)
==43388== by 0x2D90AA: new_sem_from_pool (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DA199: _pthread_exit (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D88C9: _pthread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2DBB74: thread_start (in /usr/lib/system/libsystem_c.dylib)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x0036efb8 size 4
==43388== at 0x32C358: spin_lock$VARIANT$mp (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081044 size 4
==43388== at 0x2D9170: _pthread_find_thread (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D9385: _pthread_join_cleanup (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081014 size 1
==43388== at 0x2D93A3: _pthread_join_cleanup (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081038 size 8
==43388== at 0x2D9423: _pthread_join_cleanup (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0082870 size 4
==43388== at 0x2D9446: _pthread_join_cleanup (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0xb0081014 size 4
==43388== at 0x2D949A: _pthread_join_cleanup (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0xb0081000 size 8
==43388== at 0x2D949E: _pthread_join_cleanup (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x28E9A8: pthread_join (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D421: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Allocation context: unknown.
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044ef0 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100002A84: boost::mutex::lock() (mutex.hpp:52)
==43388== by 0x36FC5: boost::lock_guard<boost::mutex>::lock_guard(boost::mutex&) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D4B6: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044f30 size 8
==43388== at 0x2D716E: pthread_mutex_lock (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x37103: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(_opaque_pthread_mutex_t*) (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x37584: boost::condition_variable::notify_all() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x2D50F: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Address 0x100044f30 is at offset 144 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044ea0 size 8
==43388== at 0x100003B9D: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== by 0x100001C0B: boost::shared_ptr<boost::detail::thread_data_base>::~shared_ptr() (shared_ptr.hpp:474)
==43388== by 0x100001BE4: boost::shared_ptr<boost::detail::thread_data_base>::~shared_ptr() (shared_ptr.hpp:474)
==43388== by 0x2D5A6: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100000B61: doWork(unsigned long) (testing.cpp:72)
==43388== Address 0x100044ea0 is at offset 0 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044ea0 size 8
==43388== at 0x2A56A: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== by 0x100001C0B: boost::shared_ptr<boost::detail::thread_data_base>::~shared_ptr() (shared_ptr.hpp:474)
==43388== by 0x100001BE4: boost::shared_ptr<boost::detail::thread_data_base>::~shared_ptr() (shared_ptr.hpp:474)
==43388== by 0x2D5A6: boost::thread::join() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== Address 0x100044ea0 is at offset 0 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x100044f30 size 8
==43388== at 0x2D6ADB: pthread_mutex_destroy (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100003D38: boost::condition_variable::~condition_variable() (condition_variable_fwd.hpp:46)
==43388== by 0x100003C44: boost::condition_variable::~condition_variable() (condition_variable_fwd.hpp:45)
==43388== by 0x2A696: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== Address 0x100044f30 is at offset 144 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044f10 size 8
==43388== at 0x2D6AF3: pthread_mutex_destroy (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100003D38: boost::condition_variable::~condition_variable() (condition_variable_fwd.hpp:46)
==43388== by 0x100003C44: boost::condition_variable::~condition_variable() (condition_variable_fwd.hpp:45)
==43388== by 0x2A696: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== Address 0x100044f10 is at offset 112 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044f50 size 8
==43388== at 0x2DBD31: pthread_cond_destroy (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100003D85: boost::condition_variable::~condition_variable() (condition_variable_fwd.hpp:47)
==43388== by 0x100003C44: boost::condition_variable::~condition_variable() (condition_variable_fwd.hpp:45)
==43388== by 0x2A696: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== Address 0x100044f50 is at offset 176 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x100044ef0 size 8
==43388== at 0x2D6ADB: pthread_mutex_destroy (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x10000A5C4: boost::mutex::~mutex() (mutex.hpp:47)
==43388== by 0x1000014C4: boost::mutex::~mutex() (mutex.hpp:46)
==43388== by 0x2A710: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== Address 0x100044ef0 is at offset 80 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x100044ed0 size 8
==43388== at 0x2D6AF3: pthread_mutex_destroy (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x10000A5C4: boost::mutex::~mutex() (mutex.hpp:47)
==43388== by 0x1000014C4: boost::mutex::~mutex() (mutex.hpp:46)
==43388== by 0x2A710: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== Address 0x100044ed0 is at offset 48 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x100044ec0 size 8
==43388== at 0x100001C50: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== by 0x100001C34: boost::detail::shared_count::~shared_count() (shared_count.hpp:304)
==43388== by 0x100001C0B: boost::shared_ptr<boost::detail::thread_data_base>::~shared_ptr() (shared_ptr.hpp:474)
==43388== by 0x100001BE4: boost::shared_ptr<boost::detail::thread_data_base>::~shared_ptr() (shared_ptr.hpp:474)
==43388== by 0x2A78A: boost::detail::thread_data_base::~thread_data_base() (in /usr/local/boost/boost_1_48_0/stage/lib/libboost_thread-mt-d.dylib)
==43388== by 0x100003BA4: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x100002104: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x10000212C: boost::detail::thread_data<boost::reference_wrapper<Worker> >::~thread_data() (thread.hpp:40)
==43388== by 0x1000053AD: void boost::checked_delete<boost::detail::thread_data<boost::reference_wrapper<Worker> > >(boost::detail::thread_data<boost::reference_wrapper<Worker> >*) (checked_delete.hpp:34)
==43388== by 0x1000054D8: boost::detail::sp_counted_impl_p<boost::detail::thread_data<boost::reference_wrapper<Worker> > >::dispose() (sp_counted_impl.hpp:78)
==43388== by 0x100001CBC: boost::detail::sp_counted_base::release() (sp_counted_base_gcc_x86.hpp:145)
==43388== by 0x100001C6C: boost::detail::shared_count::~shared_count() (shared_count.hpp:305)
==43388== Address 0x100044ec0 is at offset 32 from 0x100044ea0. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x100001DB5: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new_impl<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker>&>(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:47)
==43388== by 0x100001D94: boost::detail::thread_data<boost::reference_wrapper<Worker> >* boost::detail::heap_new<boost::detail::thread_data<boost::reference_wrapper<Worker> >, boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>&) (thread_heap_alloc.hpp:73)
==43388== by 0x100001BB4: boost::shared_ptr<boost::detail::thread_data_base> boost::thread::make_thread_info<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>) (thread.hpp:140)
==43388== by 0x100001B4B: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:202)
==43388== by 0x100001434: boost::thread::thread<boost::reference_wrapper<Worker> >(boost::reference_wrapper<Worker>, boost::disable_if<boost::is_convertible<boost::reference_wrapper<Worker>&, boost::detail::thread_move_t<boost::reference_wrapper<Worker> > >, boost::thread::dummy*>::type) (thread.hpp:201)
==43388== by 0x100000B50: doWork(unsigned long) (testing.cpp:66)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting load by thread 1 at 0x100044e30 size 8
==43388== at 0x100000D2F: main (testing.cpp:84)
==43388== Address 0x100044e30 is at offset 0 from 0x100044e30. Allocation context:
==43388== at 0xC5B3: malloc (vg_replace_malloc.c:266)
==43388== by 0xCD68D: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
==43388== by 0x1000081F6: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:91)
==43388== by 0x1000080AE: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:131)
==43388== by 0x100007A5A: std::vector<double, std::allocator<double> >::_M_fill_insert(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, unsigned long, double const&) (vector.tcc:354)
==43388== by 0x100007564: std::vector<double, std::allocator<double> >::insert(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, unsigned long, double const&) (stl_vector.h:656)
==43388== by 0x1000012AC: std::vector<double, std::allocator<double> >::resize(unsigned long, double) (stl_vector.h:424)
==43388== by 0x100000966: doWork(unsigned long) (testing.cpp:57)
==43388== by 0x100000CE1: main (testing.cpp:82)
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388== Conflicting store by thread 1 at 0x00374740 size 4
==43388== at 0x31E9E2: pthread_key_init_np (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x31D89B: __Balloc_D2A (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x31DC9D: __d2b_D2A (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D34A6: __dtoa (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2CCF3A: __vfprintf (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2CC18D: vfprintf_l (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x2D52CF: printf (in /usr/lib/system/libsystem_c.dylib)
==43388== by 0x100000D40: main (testing.cpp:84)
==43388== Allocation context: Data section of /usr/lib/system/libsystem_c.dylib
==43388== Other segment start (thread 2)
==43388== (thread finished, call stack no longer available)
==43388== Other segment end (thread 2)
==43388== (thread finished, call stack no longer available)
==43388==
==43388==
==43388== For counts of detected and suppressed errors, rerun with: -v
==43388== ERROR SUMMARY: 105 errors from 88 contexts (suppressed: 31 from 21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment