Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1103 By removing the THRIFT_SLEEP_USEC(1) calls in the test it gets much faster, which is great, however as part of this effort I have discovered our boost implementation is broken in some way. I haven't gotten to the root cause yet, but I can easily get concurrency_test to hang on Linux with boost 1.54 and Windows with boost 1.58 after fixing the logic in ThreadManagerTests.h / blockTest to be correct. The symptom is that notifyAll() isn't waking up all the threads it is supposed to. It seems to wake up about 64 threads before it gives up. If you run blockTest by itself (comment out the other thread-manager tests in Tests.cpp) it will wait 1 out of 2 times, and if you look at things in the debugger you will see a bunch of threads blocking on blockMonitor_ waiting for the notification from the test thread. They are properly synchronized but not all of them wake up all the time.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---