sendfile data corruption

Anish Mistry amistry at am-productions.biz
Sat Nov 11 20:01:11 PST 2006


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/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20061112/92e80f62/attachment-0001.pgp


More information about the freebsd-current mailing list