sendfile data corruption

Pawel Worach pawel.worach at gmail.com
Sun Nov 12 07:28:14 PST 2006


On 11/12/06, Andre Oppermann <andre at freebsd.org> 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.
>
> OK, I found the bug.  The sent byte count reporting was incorrect.  While
> doing the sendfile(2) rewrite I got lost in the mixup of the FreeBSD 4.x
> bug for bug compatibility.
>
> Please try this patch:
>
>   http://people.freebsd.org/~andre/sendfile_fix-20061112.diff
>
> It fixes apache 2.0.59 for me.  For some reason lighttpd didn't suffer
> from this problem, even w/o the fix.  Unfortunately that's what I tested
> the rewrite against.
>

This fixes it for me, thanks!

-- 
Pawel


More information about the freebsd-current mailing list