[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mysterious tar-1.13.23 extraction failure
From: |
Bruno Haible |
Subject: |
mysterious tar-1.13.23 extraction failure |
Date: |
Mon, 12 Nov 2001 13:22:33 +0100 (CET) |
When unpacking screen-3.9.8.tar.gz
(ftp://ftp.gnu.org/pub/gnu/screen/screen-3.9.8.tar.gz, 505018 bytes)
with tar-1.3.23 on a glibc-2.2.4 Linux system, on an ext2fs partition,
I get a strange error message:
$ tar xfz /gnu/screen-3.9.8.tar.gz
tar: screen-3.9.8: Directory renamed before its status could be extracted
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
Or once again with verbosity.
$ rm -rf screen-3.9.8
$ tar xvvfz /gnu/screen-3.9.8.tar.gz
drwxrwxr-x mlschroe/i4staff 0 2000-09-01 18:07:29 screen-3.9.8/
...
lrwxrwxrwx mlschroe/i4staff 0 2000-09-01 18:07:28
screen-3.9.8/doc/install.sh -> ../install.sh
lrwxrwxrwx mlschroe/i4staff 0 2000-09-01 18:07:29 screen-3.9.8/FAQ ->
doc/FAQ
-rw-rw-r-- mlschroe/i4staff 70 2000-09-01 18:07:29 screen-3.9.8/Makefile
tar: screen-3.9.8: Directory renamed before its status could be extracted
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
There is no "renaming" going on, the error is reproducible.
I cannot see anything wrong with the tarfile.
The only unusual thing is that it contains two symbolic links.
When I put a breakpoint at extract.c:576 (this is where the error message
comes from) I see
(gdb) break extract.c:576
Breakpoint 1 at 0x8051c73: file ../../src/extract.c, line 576.
(gdb) run xf /tmp/screen-3.9.8.tar
Starting program: /packages/gnu/bin/tar xf /tmp/screen-3.9.8.tar
[New Thread 1024 (LWP 15649)]
[Switching to Thread 1024 (LWP 15649)]
Breakpoint 1, apply_nonancestor_delayed_set_stat (file_name=0x80624f4 "",
after_symlinks=true)
at ../../src/extract.c:576
576 ERROR ((0, 0,
(gdb) print st
$1 = {st_dev = 775, __pad1 = 0, __st_ino = 65400, st_mode = 16877, st_nlink =
5, st_uid = 101,
st_gid = 100, st_rdev = 6912, __pad2 = 0, st_size = 4096, st_blksize = 4096,
st_blocks = 8,
st_atime = 1005430112, __unused1 = 0, st_mtime = 1005430112, __unused2 = 0,
st_ctime = 1005430112,
__unused3 = 0, st_ino = 65400}
(gdb) print *data
$2 = {next = 0x0, stat_info = {st_dev = 0, __pad1 = 0, __st_ino = 0, st_mode =
509, st_nlink = 0,
st_uid = 10415, st_gid = 10430, st_rdev = 0, __pad2 = 0, st_size = 0,
st_blksize = 0, st_blocks = 0,
st_atime = 0, __unused1 = 0, st_mtime = 967824449, __unused2 = 0, st_ctime
= 0, __unused3 = 0,
st_ino = 0}, file_name_len = 12, invert_permissions = 0, permstatus =
ARCHIVED_PERMSTATUS,
after_symlinks = false, file_name = "s"}
(gdb) print (char*)data->file_name
$3 = 0x8082bb4 "screen-3.9.8"
i.e. data->stat_info.st_dev and data->stat_info.st_ino are both 0.
Bruno
- mysterious tar-1.13.23 extraction failure,
Bruno Haible <=