From owner-freebsd-current@FreeBSD.ORG Sun Mar 25 23:25:08 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 282F6106566B; Sun, 25 Mar 2012 23:25:08 +0000 (UTC) (envelope-from tim@kientzle.com) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id D8D398FC0A; Sun, 25 Mar 2012 23:25:07 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id q2PNP6n1047210; Sun, 25 Mar 2012 23:25:06 GMT (envelope-from tim@kientzle.com) Received: from [192.168.2.119] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id 2qyse8cyh8vknke7eib5s94ip2; Sun, 25 Mar 2012 23:25:06 +0000 (UTC) (envelope-from tim@kientzle.com) Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=windows-1252 From: Tim Kientzle In-Reply-To: <20120325214327.GA1238@reks> Date: Sun, 25 Mar 2012 16:25:05 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4F6CD93D.70109@passap.ru> <4F6CEB1F.4040300@FreeBSD.org> <4F6D52DF.7080105@passap.ru> <4F34E618-DB66-464D-B5B2-900960D6C16B@kientzle.com> <4F6F155E.30902@passap.ru> <38D08B05-58E1-4266-9628-2C22836806D3@kientzle.com> <20120325214327.GA1238@reks> To: Gleb Kurtsou X-Mailer: Apple Mail (2.1257) Cc: Dimitry Andric , freebsd-current@freebsd.org, Boris Samorodov Subject: Re: /usr/bin/tar creates invalid lib file 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, 25 Mar 2012 23:25:08 -0000 On Mar 25, 2012, at 2:43 PM, Gleb Kurtsou wrote: > On (25/03/2012 10:53), Tim Kientzle wrote: >>=20 >> On Mar 25, 2012, at 5:53 AM, Boris Samorodov wrote: >>=20 >>> On 24.03.2012 21:00, Tim Kientzle wrote: >>>>=20 >>>> On Mar 23, 2012, at 9:51 PM, Boris Samorodov wrote: >>>>=20 >>>> Can you send me the output of: >>>>=20 >>>> tar -cvf /tmp/test.tar = /usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../p= r/src/./libnspr4.so.1 >>>>=20 >>>> (A tar archive containing only that one source file.) >>>>=20 >>>> This looks similar to a bug that we found in libarchive recently >>>> I didn't think that bug impacted FreeBSD, but I may have been >>>> wrong=85. if it did, it will be obvious from the structure of the >>>> created archive. >>>=20 >>> The following file is extracted after tarring: >>> ----- >>> % hd libnspr4.so.1 >>> 00000000 32 0a 30 0a 30 0a 32 34 31 39 37 31 0a 30 0a 00 = |2.0.0.241971.0..| >>> 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = |................| >>> * >>> 00000200 >>> ----- >>>=20 >>> The tar file itself attached (3KB in length). >>=20 >> Ugh. I'll probably need your help to diagnose this more precisely. >>=20 >> Here is the root problem: tar thinks this is a sparse file >> with nothing in it. On FreeBSD, bsdtar now uses >> lseek(SEEK_HOLE) to identify holes in the file. For >> some reason, bsdtar is storing this file as just one big hole. >=20 > I experience a related issue. lseek(SEEK_HOLE) error checks are too > strict. Files are not added to archive if lseek(SEEK_HOLE) fails. > Ignoring lseek(SEEK_HOLE) at least in ENOTTY case would be preferable. This has already been fixed upstream. I'll get the fix merged soon=85 Boris: What filesystem are you using? Tim