Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Nov 2006 19:00:24 +0100
From:      Andre Oppermann <andre@freebsd.org>
To:        Pawel Worach <pawel.worach@gmail.com>
Cc:        current@freebsd.org
Subject:   Re: sendfile data corruption
Message-ID:  <45560FB8.1040607@freebsd.org>
In-Reply-To: <4555BA65.4020603@gmail.com>
References:  <200611021653.kA2GrRWx008044@repoman.freebsd.org> <455530E0.5090000@gmail.com> <4555B45D.6020800@freebsd.org> <4555BA65.4020603@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

-- 
Andre




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45560FB8.1040607>