[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