Re: sendfile data corruption

From: Anish Mistry <amistry_at_am-productions.biz>
Date: Sat, 11 Nov 2006 23:02:13 -0500
On Saturday 11 November 2006 13:00, Andre Oppermann wrote:
> Pawel Worach wrote:
> > Andre Oppermann wrote:
> >> I'm looking into the problem.  Please try a binary FTP transfer
> >> as well and check if the checksums match. ftpd uses sendfile(2)
> >> as well but w/o headers or trailers and does the send in one
> >> swoop.
> >
> > Oh, didn't think of that, ftpd is ok, transferring a 64MB file
> > does not trash it. Meanwhile a couple of other things where
> > tested, SMP disabled (removed from kernel config), added some
> > printf's which when printing to a serial console moves the offset
> > where the breakage begins to 0x01000000, sometimes.
>
> I tried to reproduce the problem with lighttpd w/o success.
>
> My guess is that something gets wrong when using non-blocking
> sockets and the http headers.  Could you obtain the truss of the
> sendfile(2) calls so I get the input parameters to it?  A visual
> inspection of a corruptly transferred text file would be helpful
> too.  This should give more hints what happens, like duplicated or
> missing pages, etc.
For me I'm seeing 3 different behaviors.
1) The file is just truncated after a few KB.
2) A section of the file is just missing.  eg.  A small section of the 
file in the middle is just gone.
3) The data is sent before the headers.  eg. a portion of the html is 
sent, and then you see

The following shows 1) and 2).
http://am-productions.biz/docs/no-menu-default.css.bad
http://am-productions.biz/docs/no-menu-default.css

-- 
Anish Mistry
amistry_at_am-productions.biz
AM Productions http://am-productions.biz/

Received on Sun Nov 12 2006 - 03:01:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:02 UTC