Subject: bin/25207: 2.0: tar cores on certain archive contents
To: None <gnats-bugs@gnats.NetBSD.org>
From: Hubert Feyrer <hubert@feyrer.de>
List: netbsd-bugs
Date: 04/17/2004 10:54:46
>Number: 25207
>Category: bin
>Synopsis: 2.0: tar cores on certain archive contents
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Apr 17 08:55:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Hubert Feyrer
>Release: NetBSD 2.0_BETA
>Organization:
bla!
>Environment:
<The following information is extracted from your kernel. Please>
<append output of "ldd", "ident" where relevant (multiple lines).>
System: NetBSD miyu 2.0_BETA NetBSD 2.0_BETA (MIYU) #46: Sun Apr 11 13:19:40 MEST 2004 feyrer@miyu:/usr/cvs/src-2.0/sys/arch/i386/compile/MIYU i386
Architecture: i386
Machine: i386
>Description:
I have tar on 2.0_BETA/i386 dump core on me (reliably) when trying
to copy my -rnetbsd-2-0 source tree located in /usr/cvs/src-2.0 to
some dir:
( cd /usr/cvs ; tar plcf - \
src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results \
| ( cd /tmp ; tar plvxf - ) )
This leads to:
...
src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-long-and-virtual.out
src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out+
tar: Cannot create
src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out (File exists)
src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longdouble.out+Abort (core dumped)
tar: Failed write to archive volume: 1miyu% (Broken pipe)
tar: Unexpected EOF on archive file
tar: Unexpected EOF on archive file
tar: Unexpected EOF on archive file
miyu%
gdb says:
(gdb) bt
#0 0x48090e1b in kill () from /lib/libc.so.12
#1 0x48105287 in abort () from /lib/libc.so.12
#2 0x08050170 in file_creat (arcn=0x806de20)
at /usr/src/bin/pax/file_subs.c:102
#3 0x0804c657 in extract () at /usr/src/bin/pax/ar_subs.c:348
#4 0x08054f65 in main (argc=3, argv=0xbfbff88c) at /usr/src/bin/pax/pax.c:293
#5 0x0804a1e2 in ___start ()
file_subs.c:102 is:
if (xtmp_name)
abort();
xtmp_name is at that place:
(gdb) print xtmp_name
$1 = 0x807a180 "src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out"
I've played with variants of the above command starting in various dirs
and giving various arguments, but it only crashes in that one situation:
works: ( cd / ; tar plcf - usr/cvs/src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results
works: ( cd /usr ; tar plcf - cvs/src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results
ABORTS: ( cd /usr/cvs ; tar plcf - src-2.0/gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results
works: ( cd /usr/cvs/src-2.0 ; tar plcf - gnu/dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results
works: ( cd /usr/cvs/src-2.0/gnu ; tar plcf - dist/gcc/gcc/testsuite/consistency.vlad/layout/i960-97r2-results
I can copy more of the tree (initially the command was to cd /usr/cvs and
tar up src-2.0), but the error always happens at the same line/file.
>How-To-Repeat:
See above.
>Fix:
Unknown.
--
Hubert Feyrer <hubert@feyrer.de>
>Release-Note:
>Audit-Trail:
>Unformatted:
<Please check that the above is correct for the bug being reported,>
<and append source date of snapshot, if applicable (one line).>