Dear all,fortunately, our expert system admin could locate and solve the problem, I'm posting what I heard in case someone googles this thread:
So in our case, the random download stalls, where recv() on the socket connection would report -1/errno=EAGAIN for an hour without progress, where caused by a problem with state filtering in the iptables config, related to the local firewall. It required a new Linux kernel to fix, since then Apache is running happily...
CU, Elmar Tom Evans wrote:
On Wed, 2009-06-24 at 08:09 -0500, Elmar Krieger wrote:Dear Apache users, I'm forced to write yet another program that downloads HTTP files from an Apache server,... Naive question : why would you do that, when there are probably at least 10 existing libraries/utilities that already do that, and do it right ? I mean that downloading a file from a webserver is not just a matter of opening a socket and reading bytes from it. There are such things as status codes, HTTP headers, encoding, transfer-encoding, etc.. Do you really want to re-invent the wheel ?I did of course start with code from the web, but that was not reliable enough. For example the download routines of Firefox and Safari are not satisfactory, because they also hang forever occasionally, and don't automatically restart the transfer with a new request. I need it 100% fool-proof. Anyway, could you point me to the most reliable public domain (not GNU GPL) library you know, that compiles in Linux, Windows and MacOSX? Then I can compare the code.. And any idea under which circumstances a recv() from a socket connection to Apache can report -1/errno=EAGAIN for an hour without progress would still be appreciated. It's a server side problem, because it happens from clients all over the world ;-) Thanks for your help, ElmarI can download all sorts of large files from apache, it truly Works For Me, so this certainly sounds like a naive client app rather than a server side bug. Any reason why you aren't using curl/libcurl/wget/libfetch? When there are BSD licensed wheels out there, don't design your own..Eg: http://curl.haxx.se/ (MIT)http://curl.haxx.se/libcurl/ (MIT) http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libfetch/ (BSD) Curl has a list of the FOSS http libraries: http://curl.haxx.se/libcurl/competitors.html HTH Tom --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
--------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx