sendfile data corruption

Andre Oppermann andre at freebsd.org
Sat Nov 11 10:00:35 PST 2006


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



More information about the freebsd-current mailing list