id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7464,BOOST_TEST(n_alive == 1); fails due to race condition in a regression test tool,greg.nowakowski@…,viboes,"This problem is at least from boost_1_50_0 Using gcc-4.1.2, but it has nothing to do with the bug. Platform Linux. All libs/thread/test modules that test n_avail are having race condition which make cause regression test to fail here : {{{ void operator()() { BOOST_TEST(alive_ == 1); BOOST_TEST(n_alive == 1); // race condition error op_run = true; } }}} Rationale: When the G() object is being passed, copy constructor is used to copy the object. Then boost::detail::thread_data::run() is executed and G::operator()() called. If this operator is called before the main thread calls ~G(), n_avail may be 2. It is a very rare case to have the new thread execute operator()() before the main thread, and that is why it is so difficult to catch it. Blessings, Greg. ",Bugs,closed,Boost 1.53.0,thread,Boost 1.51.0,Regression,fixed,"thread,regression,race condition",kurt.miller@…