From owner-freebsd-current Sun Oct 27 19:58:53 2002 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 A13C837B401 for ; Sun, 27 Oct 2002 19:58:51 -0800 (PST) Received: from slackerbsd.org (pcp02155875pcs.walngs01.pa.comcast.net [68.81.47.129]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1302743E6E for ; Sun, 27 Oct 2002 19:58:51 -0800 (PST) (envelope-from carl@slackerbsd.org) Received: by slackerbsd.org (Postfix, from userid 1000) id 361B510278; Mon, 28 Oct 2002 03:58:50 +0000 (UTC) Date: Sun, 27 Oct 2002 22:58:50 -0500 From: Carl Schmidt To: Craig Rodrigues Cc: freebsd-current@freebsd.org Subject: Re: Latest fetch on current broken Message-ID: <20021028035849.GB1773@carbon.slackerbsd.org> Reply-To: Carl Schmidt Mail-Followup-To: Craig Rodrigues , freebsd-current@freebsd.org References: <5.1.1.6.2.20021027153430.00a796a8@pozo.com> <5.1.1.6.2.20021027153430.00a796a8@pozo.com> <20021027212702.A51436@attbi.com> <5.1.1.6.2.20021027183013.00abaec0@pozo.com> <20021027222102.A51684@attbi.com> <20021027223836.A51789@attbi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20021027223836.A51789@attbi.com> User-Agent: Mutt/1.4i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, Oct 27, 2002 at 10:38:36PM -0500, Craig Rodrigues wrote: > On Sun, Oct 27, 2002 at 10:21:02PM -0500, Craig Rodrigues wrote: > > On Sun, Oct 27, 2002 at 06:31:27PM -0800, Manfred Antar wrote: > > > I noticed it when doing a portupgrade cdrtools > > > So yes anything that uses fetch is not going to work > > > > OK, I started tracing this down. > > > > Here's how to get debugging versions: > > cd /usr/src/lib/libfetch > > make clean > > make DEBUG_FLAGS=-g > > make DEBUG_FLAGS=-g install > > > > cd /usr/src/usr.bin/fetch > > make clean > > make DEBUG_FLAGS=-g NOSHARED=yes > > make DEBUG_FLAGS=-g NOSHARED=yes install > > > I tracked this down further to the _fetch_writev() function > in libfetch/common.c. Try this patch: > > --- lib/libfetch/common.c.orig Sun Oct 27 22:38:16 2002 > +++ lib/libfetch/common.c Sun Oct 27 22:40:12 2002 > @@ -525,7 +525,7 @@ > return (-1); > } > total += wlen; > - while (iovcnt > 0 && wlen > iov->iov_len) { > + while (iovcnt > 0 && wlen >= iov->iov_len) { > wlen -= iov->iov_len; > iov++; > iovcnt--; Yay, this works for me. :) -- Carl Schmidt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message