From owner-freebsd-current@FreeBSD.ORG Mon Mar 26 08:04:23 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 C417B106566B; Mon, 26 Mar 2012 08:04:23 +0000 (UTC) (envelope-from bsam@passap.ru) Received: from forward13.mail.yandex.net (forward13.mail.yandex.net [IPv6:2a02:6b8:0:801::3]) by mx1.freebsd.org (Postfix) with ESMTP id 9EA368FC1E; Mon, 26 Mar 2012 08:04:22 +0000 (UTC) Received: from smtp14.mail.yandex.net (smtp14.mail.yandex.net [95.108.131.192]) by forward13.mail.yandex.net (Yandex) with ESMTP id 63FE3141D10; Mon, 26 Mar 2012 12:04:20 +0400 (MSK) Received: from smtp14.mail.yandex.net (localhost [127.0.0.1]) by smtp14.mail.yandex.net (Yandex) with ESMTP id 29AE71B60573; Mon, 26 Mar 2012 12:04:20 +0400 (MSK) Received: from 46.38.39.187.tel.ru (46.38.39.187.tel.ru [46.38.39.187]) by smtp14.mail.yandex.net (nwsmtp/Yandex) with ESMTP id 4J7SSHRb-4J7WWSAL; Mon, 26 Mar 2012 12:04:19 +0400 Message-ID: <4F702303.6040504@passap.ru> Date: Mon, 26 Mar 2012 12:04:19 +0400 From: Boris Samorodov User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:8.0) Gecko/20111114 Thunderbird/8.0 MIME-Version: 1.0 To: Tim Kientzle 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> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Gleb Kurtsou , freebsd-current@freebsd.org, Dimitry Andric 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: Mon, 26 Mar 2012 08:04:23 -0000 26.03.2012 03:25, Tim Kientzle пишет: > > On Mar 25, 2012, at 2:43 PM, Gleb Kurtsou wrote: > >> On (25/03/2012 10:53), Tim Kientzle wrote: >>> >>> On Mar 25, 2012, at 5:53 AM, Boris Samorodov wrote: >>> >>>> On 24.03.2012 21:00, Tim Kientzle wrote: >>>>> >>>>> On Mar 23, 2012, at 9:51 PM, Boris Samorodov wrote: >>>>> >>>>> Can you send me the output of: >>>>> >>>>> tar -cvf /tmp/test.tar /usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../pr/src/./libnspr4.so.1 >>>>> >>>>> (A tar archive containing only that one source file.) >>>>> >>>>> 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…. if it did, it will be obvious from the structure of the >>>>> created archive. >>>> >>>> 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 >>>> ----- >>>> >>>> The tar file itself attached (3KB in length). >>> >>> Ugh. I'll probably need your help to diagnose this more precisely. >>> >>> 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. >> >> 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… > > Boris: What filesystem are you using? zfs -- WBR, Boris Samorodov (bsam) FreeBSD Committer, http://www.FreeBSD.org The Power To Serve