Nice! Thanks! And NUTS!!!! It appears that 1.43 is very different from the version that the patch was created for. in 1.43 wait is a template, while in the patch wait is an inline. We probably need to move up to boost 1.47, but I doubt our QA division would accept that since we're suppose to be close to done. It's nice to know that I'm not nuts! -=John On 3/16/2012 11:41 AM, Nathan Crookston wrote:
Hi John,
I followed your advice to verify where the threads where blocked. I analyzed the GDB data and I found that the LU thread was blocked on a join() for worker thread #7 (having sent it an interrupt) and that worker thread #7 was block on a boost::condition_variable_any. This bug: https://svn.boost.org/trac/boost/ticket/4978 bit us at my work -- it was merged in 1.47. SInce you're using 1.43, perhaps it's
On Fri, Mar 16, 2012 at 12:00 PM, John Rocha
wrote: the same issue? I then carefully looked at my boost thread source code, for version 1.43 of boost, and I believe there is a race condition between the boost thread's interrupt() and convar::wait() methods. Its a very small window, but I've been able to reproduce the issue with logs.
Can you please read the following to find any flaws with my logic, or confirm my suspicion? Also, if this is a defect with the library, what should I do next? Do I raise a defect somewhere? The patch was pretty trivial for us to apply, for what that's worth.
HTH, Nate _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users