[Nottingham] NLUG Desktop Fix-it Evening - my writeup
Martin Garton
martin at stupids.org
Fri May 5 11:50:38 BST 2006
On Fri, 2006-05-05 at 11:05 +0100, Martin Garton wrote:
> For anyone interested, the symptoms we were observing were that apache
> was running and able to serve up some files without problems. However,
> a few files I had in my homedir and had exposed using UserDir could not
> be downloaded. It would just hang. "/home/martin/public_html/test.html"
> was fine, but a couple of tar.gz files in there just caused things to
> hang. Apache forked off another httpd so it was definitely receiving
> something, but logged nothing (even on debug log level) and the tcp send
> queue from the client got quite large. It's as if the server accepted
> the connection on the socket and then didn't read from it.
Apologies to replying to my own mail - just to let folks who we're
puzzled by this know what it was.
After testing I discovered that apache was only serving up files of up
to and including 255 bytes. Very odd and suddenly I suspect something
other than apache. Kernel maybe?
But I have been transferring much larger files over scp for example so
it doesn't sound like a generic tcp problem. What does apache do that
ssh doesn't? The obvious thing is that it sends static content from
files. So it probably uses sendfile() I thought.
After setting "EnableSendfile Off" in httpd.conf suddenly things start
to work.
So it looks like sendfile() in rawhide is broken. Probably because of
all the recent splice() and tee() work.
--
Martin.
More information about the Nottingham
mailing list