================== WARNING: ThreadSanitizer: data race (pid=48512) Write of size 8 at 0x7f7526996010 by thread T15: #0 pthread_cond_destroy (test_libRsBase2CommFramework+0x000000473bcc) #1 boost::asio::detail::posix_event::~posix_event() /usr/include/boost/asio/detail/posix_event.hpp:42:5 (test_libRsBase2CommFramework+0x000000565e7c) #2 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:161:1 (test_libRsBase2CommFramework+0x0000005656e8) #3 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59:19 (test_libRsBase2CommFramework+0x000000565471) 15 #4 BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const::{lambda()#1}::operator()() const /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:273:9 (test_libRsBase2CommFramework+0x000000587aae) #5 void std::_Bind_simple::_M_invoke<>(std::_Index_tuple<>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:1731:18 (test_libRsBase2CommFramework+0x000000587a18) #6 std::_Bind_simple::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:1720:16 (test_libRsBase2CommFramework+0x0000005879c8) #7 std::thread::_Impl >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/thread:115:13 (test_libRsBase2CommFramework+0x00000058777c) #8 (libstdc++.so.6+0x0000000b1a5f) Previous read of size 8 at 0x7f7526996010 by main thread: #0 pthread_cond_signal (test_libRsBase2CommFramework+0x000000473960) #1 void boost::asio::detail::posix_event::signal_and_unlock >(boost::asio::detail::scoped_lock&) /usr/include/boost/asio/detail/posix_event.hpp:62:5 (test_libRsBase2CommFramework+0x00000050ceda) #2 boost::asio::detail::task_io_service::wake_one_idle_thread_and_unlock(boost::asio::detail::scoped_lock&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:488:5 (test_libRsBase2CommFramework+0x00000050cd6f) #3 boost::asio::detail::task_io_service::wake_one_thread_and_unlock(boost::asio::detail::scoped_lock&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:497:8 (test_libRsBase2CommFramework+0x00000050cadc) #4 boost::asio::detail::task_io_service::post_immediate_completion(boost::asio::detail::task_io_service_operation*, bool) /usr/include/boost/asio/detail/impl/task_io_service.ipp:282:3 (test_libRsBase2CommFramework+0x00000050c81a) #5 void boost::asio::detail::task_io_service::post(BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const::{lambda()#2}&) /usr/include/boost/asio/detail/impl/task_io_service.hpp:70:3 (test_libRsBase2CommFramework+0x0000005881ad) #6 boost::asio::async_result::type>::type boost::asio::io_service::post(boost::asio::handler_type&&) /usr/include/boost/asio/impl/io_service.hpp:108:3 (test_libRsBase2CommFramework+0x0000005864c1) #7 BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:277:5 (test_libRsBase2CommFramework+0x0000005817c1) #8 BoostAsio::ioServiceShallWaitForPendingJobs::test_method() /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:295:5 (test_libRsBase2CommFramework+0x000000581675) #9 BoostAsio::ioServiceShallWaitForPendingJobs_invoker() /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:264:1 (test_libRsBase2CommFramework+0x000000581539) #10 boost::unit_test::ut_detail::unused boost::unit_test::ut_detail::invoker::invoke(void (*&)()) /usr/include/boost/test/utils/callback.hpp:56:59 (test_libRsBase2CommFramework+0x0000005907a4) #11 boost::unit_test::ut_detail::callback0_impl_t::invoke() /usr/include/boost/test/utils/callback.hpp:89:33 (test_libRsBase2CommFramework+0x0000005906d3) #12 (libboost_unit_test_framework.so.1.54.0+0x0000000681f0) #13 __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287 (libc.so.6+0x000000021f44) As if synchronized via sleep: #0 nanosleep (test_libRsBase2CommFramework+0x000000470757) #1 void std::this_thread::sleep_for >(std::chrono::duration > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/thread:279:2 (test_libRsBase2CommFramework+0x00000058e581) #2 BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const::{lambda()#2}::operator()() const /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:280:11 (test_libRsBase2CommFramework+0x000000588970) #3 void boost::asio::asio_handler_invoke(BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const::{lambda()#2}, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:64:3 (test_libRsBase2CommFramework+0x000000588908) #4 void boost_asio_handler_invoke_helpers::invoke(BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const::{lambda()#2}&, {lambda()#2}&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37:3 (test_libRsBase2CommFramework+0x000000588810) #5 boost::asio::detail::completion_handler::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/completion_handler.hpp:68:7 (test_libRsBase2CommFramework+0x00000058864e) #6 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:37:5 (test_libRsBase2CommFramework+0x00000050c357) #7 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:388:9 (test_libRsBase2CommFramework+0x000000565c72) #8 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:154:10 (test_libRsBase2CommFramework+0x0000005655eb) #9 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59:19 (test_libRsBase2CommFramework+0x000000565471) #10 BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const::{lambda()#1}::operator()() const /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:273:9 (test_libRsBase2CommFramework+0x000000587aae) #11 void std::_Bind_simple::_M_invoke<>(std::_Index_tuple<>) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:1731:18 (test_libRsBase2CommFramework+0x000000587a18) #12 std::_Bind_simple::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:1720:16 (test_libRsBase2CommFramework+0x0000005879c8) #13 std::thread::_Impl >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/thread:115:13 (test_libRsBase2CommFramework+0x00000058777c) #14 (libstdc++.so.6+0x0000000b1a5f) Location is stack of thread T15. Thread T15 (tid=48530, running) created by main thread at: #0 pthread_create (test_libRsBase2CommFramework+0x000000472d83) #1 std::thread::_M_start_thread(std::shared_ptr) (libstdc++.so.6+0x0000000b1cae) #2 BoostAsio::ioServiceShallWaitForPendingJobs::test_method()::$_8::operator()() const /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:270:17 (test_libRsBase2CommFramework+0x000000581781) #3 BoostAsio::ioServiceShallWaitForPendingJobs::test_method() /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:295:5 (test_libRsBase2CommFramework+0x000000581675) #4 BoostAsio::ioServiceShallWaitForPendingJobs_invoker() /home/kostov/workspaces/sde900/libRsBase2CommFramework/tests/BoostAsio_test.cpp:264:1 (test_libRsBase2CommFramework+0x000000581539) #5 boost::unit_test::ut_detail::unused boost::unit_test::ut_detail::invoker::invoke(void (*&)()) /usr/include/boost/test/utils/callback.hpp:56:59 (test_libRsBase2CommFramework+0x0000005907a4) #6 boost::unit_test::ut_detail::callback0_impl_t::invoke() /usr/include/boost/test/utils/callback.hpp:89:33 (test_libRsBase2CommFramework+0x0000005906d3) #7 (libboost_unit_test_framework.so.1.54.0+0x0000000681f0) #8 __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287 (libc.so.6+0x000000021f44) SUMMARY: ThreadSanitizer: data race (/home/kostov/workspaces/sde900/build_xx10/filesystems/rootfs/usr/local/test/test_libRsBase2CommFramework+0x473bcc) in pthread_cond_destroy ==================