From owner-freebsd-stable Sun Feb 11 0:20:16 2001 Delivered-To: freebsd-stable@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id 171C737B401 for ; Sun, 11 Feb 2001 00:19:58 -0800 (PST) Received: (from dillon@localhost) by earth.backplane.com (8.11.1/8.9.3) id f1B8Jk430590; Sun, 11 Feb 2001 00:19:46 -0800 (PST) (envelope-from dillon) Date: Sun, 11 Feb 2001 00:19:46 -0800 (PST) From: Matt Dillon Message-Id: <200102110819.f1B8Jk430590@earth.backplane.com> To: Blaz Zupan Cc: , , Subject: Re: RE: Proposed makewhatis perl script fix References: Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :> :of what is broken. :> : :> :Kent :> :> makewhatis is just makewhatis... it has nothing to do with tar. :> :> When you tar something up, tar writes full blocks. But when you untar :> something the actual end of the archive may occur in the middle of a :> block. tar will close the input descriptor 'early' in this case, :> potentially before gunzip or uncompress manage to write the last block :> of zeros. : :I also don't believe that this is the real fix - there is something fishy :going on in stable. I just upgraded all of our servers from 4.2-RELEASE to :4.2-STABLE and I see the following messages upon installing *any* package: : :/home/blaz# pkg_add gmake-3.79.1.tgz : :gzip: stdout: Broken pipe :tar: child returned status 1 :/home/blaz# : :The package actually appears to install and work fine. I also noticed similar :messages from gzip during "make" on a port, but again the port built and :installed fine after that. : :So no, your makewhatis patch only appears to be a bandaid, but there is :something going on deeper (possibly in the kernel) that was not there in :4.2-RELEASE. : :Blaz Zupan, Medinet d.o.o, Linhartova 21, 2000 Maribor, Slovenia :E-mail: blaz@amis.net, Tel: +386-2-320-6320, Fax: +386-2-320-6325 There's nothing wrong with the kernel. It's exactly what I said it was. pkg_add runs tar with the --fast-read option to extract the table of contents. When I remove the option pkg_add no longer reports broken pipes. When gunzip'ing piped to tar, and tar exits early due to the option, gunzip properly gets a 'gzip: stdout: Broken pipe' error. Maybe 'tar' was changed recently, maybe 'gunzip' was changed recently, I don't know. But it isn't a kernel problem. The kernel is doing exactly what it is supposed to be doing. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message