From owner-freebsd-current@FreeBSD.ORG Sun Nov 12 21:09:39 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AB9BD16A415 for ; Sun, 12 Nov 2006 21:09:39 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9503B43D58 for ; Sun, 12 Nov 2006 21:09:35 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 79552 invoked from network); 12 Nov 2006 21:02:33 -0000 Received: from dotat.atdotat.at (HELO [62.48.0.47]) ([62.48.0.47]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 12 Nov 2006 21:02:33 -0000 Message-ID: <45578D8C.8020207@freebsd.org> Date: Sun, 12 Nov 2006 22:09:32 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b) Gecko/20050217 MIME-Version: 1.0 To: Fabian Keil References: <200611021653.kA2GrRWx008044@repoman.freebsd.org> <455530E0.5090000@gmail.com> <4555B45D.6020800@freebsd.org> <4555BA65.4020603@gmail.com> <4557330D.3010009@freebsd.org> <20061112170013.78949e96@localhost> In-Reply-To: <20061112170013.78949e96@localhost> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org Subject: Re: sendfile data corruption X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Nov 2006 21:09:39 -0000 Fabian Keil wrote: > 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. >> >>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 me too, but I'm still seeing problems with Gatling/0.8. > > [fk@tor ~]$ fetch http://127.0.0.1:8000/pfstat-queues.png > pfstat-queues.png 78% of 5206 B 2706 kBps > fetch: pfstat-queues.png appears to be truncated: 4096/5206 bytes > [fk@tor ~]$ fetch http://127.0.0.1:8000/pfstat-queues.png > pfstat-queues.png 78% of 5206 B 1484 kBps > fetch: pfstat-queues.png appears to be truncated: 4096/5206 bytes > [fk@tor ~]$ fetch http://127.0.0.1:8000/pfstat.png > pfstat.png 83% of 4929 B 1881 kBps > fetch: pfstat.png appears to be truncated: 4096/4929 bytes > [fk@tor ~]$ fetch http://127.0.0.1:8000/pfstat.png > pfstat.png 83% of 4929 B 1777 kBps > fetch: pfstat.png appears to be truncated: 4096/4929 bytes > > PNG files always seem to be truncated after 4096 bytes, > the same files are delivered with Apache without problems. I'm sorry but I can't find out where gatling calls sendfile to inspect the parameters it uses. > This is on FreeBSD 7.0-CURRENT #20: Sun Nov 12 16:24:32 CET 2006 > with your patch and without Joe's one. -- Andre