Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jul 2012 11:17:58 +0200
From:      "O. Hartmann" <ohartman@zedat.fu-berlin.de>
To:        Martin Matuska <mm@FreeBSD.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: r238860: bsdtar: eating up 100% CPU, hanging
Message-ID:  <5014FFC6.9000307@zedat.fu-berlin.de>
In-Reply-To: <5014D873.5090406@FreeBSD.org>
References:  <50141F96.5070808@zedat.fu-berlin.de> <FBE8C01D-20E2-406E-B56A-7414EF7F2F83@kientzle.com> <5014D873.5090406@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/29/12 08:30, Martin Matuska wrote:
> I am also looking into it:
>
> 1. It happens only with libarchive 3.0.4 (3.0.3 works fine)
> 2. It happens only if archiving files located on ZFS (UFS works fine)

It happens in my case also on UFS2 filesystem (SU+J). My ports are 
residing on an UFS partition - but ZFS is also available on the system ...

> 3. Backtrace:
> #0  setup_acl_posix1e (a=0x801c45100, entry=0x801d69100, acl=0x801d8a000,
>      archive_entry_acl_type=256)
>      at
> /base/head/lib/libarchive/../../contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c:474
> #1  0x0000000800879036 in archive_read_disk_entry_from_file (_a=0x801c45100,
>      entry=0x801d69100, fd=6, st=Variable "st" is not available.
> )
>      at
> /base/head/lib/libarchive/../../contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c:434
> #2  0x000000080087831e in _archive_read_next_header2 (_a=0x801c45100,
>      entry=0x801d69100)
>      at
> /base/head/lib/libarchive/../../contrib/libarchive/libarchive/archive_read_disk_posix.c:1070
> #3  0x00000000004078d5 in write_hierarchy (bsdtar=0x7fffffffd940,
>      a=0x801c17140, path=Variable "path" is not available.
> )
>      at /base/head/usr.bin/tar/../../contrib/libarchive/tar/write.c:825
> #4  0x0000000000407d51 in write_archive (a=0x801c17140,
> bsdtar=0x7fffffffd940)
>      at /base/head/usr.bin/tar/../../contrib/libarchive/tar/write.c:471
> #5  0x0000000000404fbd in main (argc=4, argv=Variable "argv" is not
> available.
> )
>      at /base/head/usr.bin/tar/../../contrib/libarchive/tar/bsdtar.c:668
>
> This infinite loop has been fixed in libarchive master:
> https://github.com/libarchive/libarchive/commit/d8b9dbd
> d8b9dbd6dac0125957b997c2fe8d246237ec9f94
>
> I suggest you backport to release also the following:
> f67370d5c33b336b103c43fe35984defe7e0e473
> https://github.com/libarchive/libarchive/commit/f67370d
> c6d3cd33aecdc579966c3fbe7b9424cea83c7555
> https://github.com/libarchive/libarchive/commit/c6d3cd3
>
>
> Dňa 29. 7. 2012 3:18 Tim Kientzle  wrote / napísal(a):
>>
>> On Jul 28, 2012, at 10:21 AM, O. Hartmann wrote:
>>
>>> When updating ports (like databases/sqlite3 or graphics/png via portmaster graphics/png), the installation process comes to a point where a backup of the old port is created with bsdtar. The process hangs then …
>>
>>> My operating system is
>>> FreeBSD 10.0-CURRENT #0 r238860: Sat Jul 28 11:28:38 CEST 2012
>>
>> That's newer than my -CURRENT system here; I'm updating now.
>> Martin imported a few changes from upstream just recently, so this
>> is likely a new problem.
>>
>>> What to do?
>>
>> Can you get the full command line for the command that's
>> hanging?
>>
>> $ ps auxww | grep tar
>>
>> Knowing the exact options that were used will help narrow
>> it down.
>>
>> Thanks for reporting it,
>>
>> Tim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5014FFC6.9000307>