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

next in thread | previous in thread | raw e-mail | index | archive | help
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)
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
> 
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
> 



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