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.
---

Reply via email to