From: Jeffrey W. <nol...@gm...> - 2011-08-29 02:55:05
|
Hi All, Is it safe to ignore warnings from mythread_wrapper? The test program causing the warning spins up 64 threads and exercises the SecureRandom. Jeff ==27224== Thread #2 was created ==27224== at 0x32EF2E0BEE: clone (in /lib64/libc-2.13.so) ==27224== by 0x32EFA05D9F: do_clone.clone.2 (in /lib64/libpthread-2.13.so) ==27224== by 0x32EFA0731A: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.13.so) ==27224== by 0x4A069C8: pthread_create_WRK (hg_intercepts.c:229) ==27224== by 0x4A06AFA: pthread_create@* (hg_intercepts.c:256) ==27224== by 0x443211: DoWorkerThreadStuff() (SecureRandomTest.cpp:76) ==27224== by 0x4430AE: VerifySecureRandom::test_method() (SecureRandomTest.cpp:59) ==27224== by 0x442F3C: VerifySecureRandom_invoker() (SecureRandomTest.cpp:55) ==27224== by 0x4281F1: boost::unit_test::ut_detail::unused boost::unit_test::ut_detail::invoker<boost::unit_test::ut_detail::unused>::invoke<void (*)()>(void (*&)()) (callback.hpp:56) ==27224== by 0x428058: boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused, void (*)()>::invoke() (callback.hpp:89) ==27224== by 0x540B540: ??? (in /usr/lib64/libboost_unit_test_framework.so.1.44.0) ==27224== by 0x53ED83D: boost::execution_monitor::catch_signals(boost::unit_test::callback0<int> const&) (in /usr/lib64/libboost_unit_test_framework.so.1.44.0) ==27224== ==27224== Thread #1 is the program's root thread ==27224== ==27224== Possible data race during write of size 8 at 0x7feffee60 by thread #2 ==27224== at 0x4A06AD6: mythread_wrapper (hg_intercepts.c:199) ==27224== This conflicts with a previous read of size 8 by thread #1 ==27224== at 0x4A069DC: pthread_create_WRK (hg_intercepts.c:234) ==27224== by 0x4A06AFA: pthread_create@* (hg_intercepts.c:256) ==27224== by 0x443211: DoWorkerThreadStuff() (SecureRandomTest.cpp:76) ==27224== by 0x4430AE: VerifySecureRandom::test_method() (SecureRandomTest.cpp:59) ==27224== by 0x442F3C: VerifySecureRandom_invoker() (SecureRandomTest.cpp:55) ==27224== by 0x4281F1: boost::unit_test::ut_detail::unused boost::unit_test::ut_detail::invoker<boost::unit_test::ut_detail::unused>::invoke<void (*)()>(void (*&)()) (callback.hpp:56) ==27224== by 0x428058: boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused, void (*)()>::invoke() (callback.hpp:89) ==27224== by 0x540B540: ??? (in /usr/lib64/libboost_unit_test_framework.so.1.44.0) ==27224== |