Has anyone seen this? Having checked everything possible short of debugging ab itself, I don't have a clue.
ab is busted :(
$ ./ab http://127.0.0.1:4874/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.1 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)...apr_poll: The timeout specified has expired (70007)
ab started failing with 2.0.47. It had been converted to do non-blocking connect some time ago, but non-blocking connect was busted in APR (at least on Unix). Once APR was fixed, some holes were exposed in ab.
There is one (?) fix in 2.0.48-dev that helps the most common hole I've seen. There is another change in 2.1-dev (needs another vote to backport) that fills another hole. I still occasionally get a failure with some mishandling of EISCONN. I suspect that APR needs to check for this when apr_connect() is re-issued on a non-blocking socket and realize that everything is hunky dory.