Randy Abernethy created THRIFT-1850: ---------------------------------------
Summary: make check hangs on TSocket tests in TransportTest.cpp Key: THRIFT-1850 URL: https://issues.apache.org/jira/browse/THRIFT-1850 Project: Thrift Issue Type: Bug Components: Test Suite Affects Versions: 0.9, 1.0 Environment: Mint 14 x64 and Centos 6.3 x64 and x86 [Web Server Profile] with clean install and minimum Thrift support added for C++ Reporter: Randy Abernethy Fix For: 1.0 On the systems noted with trunk rev 3a67c2f TEST_BLOCKING_BEHAVIOR(CoupledFDTransports) and TEST_BLOCKING_BEHAVIOR(CoupledSocketTransports) in lib/cpp/test/TransportTest.cpp (around line 850) produce timeout alarms with the warning: "Timeout alarm expired; attempting to unblock transport" and then the 4th (and 8th) TEST_RW(CoupledSocketTransports,...) hangs indefinitely due to a blocking socket write. Some others have noticed this: http://stackoverflow.com/questions/13147105/thrfit-make-check-stuck I have attached a patch that sets a timeout on the TSocket in question allowing transport reads to take place when the socket layer refuses to write. It appears trunk revision 0c025e8f reduced the socket_max_outstanding on the two problem tests to 400 in order to repair this (which I assume it did at the time). I do not think this is needed with the attached patch and have reverted to the symbolic socket_max_outstanding value. The two TEST_BLOCKING_BEHAVIOR timeouts still alarm but the tests appear to run as they were meant to with this patch on all three systems I have tested. This is my first contribution, please let me know if it is off base in any way. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira