Date: Thu, 26 Jan 2006 19:40:06 GMT From: "David G. Lawrence" <dg@dglawrence.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/92243: sendfile(2) returns early on files > 4GB Message-ID: <200601261940.k0QJe6g2048475@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/92243; it has been noted by GNATS. From: "David G. Lawrence" <dg@dglawrence.com> To: David Kelly <dkelly@hiwaay.net> Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: kern/92243: sendfile(2) returns early on files > 4GB Date: Thu, 26 Jan 2006 11:34:58 -0800 > On Mon, Jan 23, 2006 at 11:09:08PM -0800, David G. Lawrence wrote: > > > >How-To-Repeat: > > > Get a file which is larger than 4G via ftpd, apache, or anything else which uses sendfile(2). > > > > Do you know if sendfile(2) is returning an error in the failure case? > > I don't know the method for attaching gdb to a running daemon, have > never had need of it before. Have sprinkled printf's in ftpd and edited > the return message trying to understand what is happening. I think > sendfile is returning once and ftpd is calling it again then the 2nd > time the count is zero so ftp returns "premature end." This is untouched > stock RELENG6: I've been trying to reproduce the problem here, but I haven't been able to so far. It might be because I'm using a larger file or perhaps it has to do with the system configuration. Can you tell me how much main memory you have in your system? Whatever the problem is, it sure isn't obvious in the code. I've spent many hours combing through sendfile and the macros and functions that it calls, looking for anything that might cause a 64bit->32bit precision truncation, and so far everything looks fine to me. -DG David G. Lawrence President Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500 The FreeBSD Project - http://www.freebsd.org Pave the road of life with opportunities.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601261940.k0QJe6g2048475>