On Sun, Jul 09, 2006 at 09:52:52PM +0200, Kurt Roeckx wrote:
> 
> It seems that the created tar files are good, but during
> extraction it doesn't always react the same.

straces between 2 runs that are good only differ in some system
call, and they all have to do with either the pid changed or
the time as clock_gettime(), or the name of the tempary directory
the use.

Anyway, this seems to be first place where they are different in
what they do:
@@ -157,42 +157,60 @@
 getdents64(4, /* 7 entries */, 4096)    = 184
 getdents64(4, /* 0 entries */, 4096)    = 0
 close(4)                                = 0
-mkdir("foo/tar.crQir1", 0700)           = 0
-rename("foo/a", "foo/tar.crQir1")       = 0
+mkdir("foo/tar.JSQLy3", 0700)           = 0
+rename("foo/a", "foo/tar.JSQLy3")       = 0
 rename("foo/c", "foo/a")                = 0
 rename("foo/b", "foo/c")                = 0
-rename("foo/tar.crQir1", "foo/b")       = 0
-mkdir("foo", 0755)                      = -1 EEXIST (File exists)
-stat("foo", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
-write(1, "foo/a/\n", 7)                 = 7
+rename("foo/tar.JSQLy3", "foo/b")       = 0
+lstat("foo/a", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
+write(1, "tar: Deleting `foo/a\'\n", 22) = 22
+unlink("foo/a")                         = -1 EISDIR (Is a directory)
+rmdir("foo/a")                          = -1 ENOTEMPTY (Directory not empty)
 open("foo/a", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
 fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
 fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
[...]

So, the change from tar.crQir1 to tar.JSQLy3 seems to be
normal.  But then for some reason itstead of doing an
mkdir(), it does an lstat() instead.

It seems that it's this code in extract.c that behaves
different:
  if (incremental_option)
    /* Read the entry and delete files that aren't listed in the archive.  */
    purge_directory (file_name);
  else if (typeflag == GNUTYPE_DUMPDIR)
    skip_member ();

  mode = (current_stat_info.stat.st_mode |
           (we_are_root ? 0 : MODE_WXUSR)) & MODE_RWX;

  while ((status = mkdir (file_name, mode)))

My guess is that's somewhere in the purge_directory() call
that behaves differently for some reason, but I'm not sure
why yet.  Will take a closer look tomorrow.

Both straces attached.


Kurt

execve("/bin/tar", ["tar", "xfgv", "arch.2", "/dev/null"], [/* 13 vars */]) = 0
uname({sys="Linux", node="intrepid", ...}) = 0
brk(0)                                  = 0x54d000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaac2000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=6016, ...}) = 0
mmap(NULL, 6016, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/librt.so.1", O_RDONLY)       = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`(\0\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=35752, ...}) = 0
mmap(NULL, 1084424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2aaaaabc3000
mprotect(0x2aaaaabcb000, 1051656, PROT_NONE) = 0
mmap(0x2aaaaacca000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x2aaaaacca000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\305"..., 640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0"..., 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=1295640, ...}) = 0
mmap(NULL, 2354344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2aaaaaccc000
mprotect(0x2aaaaadf0000, 1158312, PROT_NONE) = 0
mmap(0x2aaaaaeef000, 98304, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x123000) = 0x2aaaaaeef000
mmap(0x2aaaaaf07000, 15528, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaf07000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0PV\0\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=97401, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaf0b000
mmap(NULL, 1131368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2aaaaaf0c000
mprotect(0x2aaaaaf1c000, 1065832, PROT_NONE) = 0
mmap(0x2aaaab01b000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x2aaaab01b000
mmap(0x2aaaab01d000, 13160, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaab01d000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaab021000
mprotect(0x2aaaaaeef000, 86016, PROT_READ) = 0
arch_prctl(ARCH_SET_FS, 0x2aaaab0216d0) = 0
munmap(0x2aaaaaac4000, 6016)            = 0
set_tid_address(0x2aaaab021760)         = 16751
rt_sigaction(SIGRTMIN, {0x2aaaaaf111e0, [], SA_RESTORER|SA_SIGINFO, 
0x2aaaaaf187a0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x2aaaaaf11260, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 
0x2aaaaaf187a0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0x7fffff834b10, 31, (nil), 0}) = 0
clock_gettime(CLOCK_REALTIME, {1152485122, 687449000}) = 0
brk(0)                                  = 0x54d000
brk(0x56e000)                           = 0x56e000
fcntl(0, F_GETFD)                       = 0
fcntl(1, F_GETFD)                       = 0
fcntl(2, F_GETFD)                       = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
geteuid()                               = 0
umask(0)                                = 022
open("arch.2", O_RDONLY)                = 3
read(3, "foo/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 10240) = 
10240
fstat(3, {st_mode=S_IFREG|0644, st_size=10240, ...}) = 0
clock_gettime(CLOCK_REALTIME, {1152485122, 687895000}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaac4000
read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x2aaaaaac4000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=6016, ...}) = 0
mmap(NULL, 6016, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2aaaaaac4000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnss_compat.so.2", O_RDONLY) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\26\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=35568, ...}) = 0
mmap(NULL, 1082528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab022000
mprotect(0x2aaaab02a000, 1049760, PROT_NONE) = 0
mmap(0x2aaaab129000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x7000) = 0x2aaaab129000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnsl.so.1", O_RDONLY)      = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 I\0\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=86272, ...}) = 0
mmap(NULL, 1141488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab12b000
mprotect(0x2aaaab13f000, 1059568, PROT_NONE) = 0
mmap(0x2aaaab23e000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x13000) = 0x2aaaab23e000
mmap(0x2aaaab240000, 6896, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaab240000
close(4)                                = 0
munmap(0x2aaaaaac4000, 6016)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=6016, ...}) = 0
mmap(NULL, 6016, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2aaaaaac4000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnss_nis.so.2", O_RDONLY)  = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p$\0\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=43448, ...}) = 0
mmap(NULL, 1090960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab242000
mprotect(0x2aaaab24c000, 1050000, PROT_NONE) = 0
mmap(0x2aaaab34b000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x9000) = 0x2aaaab34b000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000#\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=47472, ...}) = 0
mmap(NULL, 1095304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab34d000
mprotect(0x2aaaab358000, 1050248, PROT_NONE) = 0
mmap(0x2aaaab457000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0xa000) = 0x2aaaab457000
close(4)                                = 0
munmap(0x2aaaaaac4000, 6016)            = 0
open("/etc/passwd", O_RDONLY)           = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
lseek(4, 0, SEEK_CUR)                   = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=1118, ...}) = 0
mmap(NULL, 1118, PROT_READ, MAP_SHARED, 4, 0) = 0x2aaaaaac4000
lseek(4, 1118, SEEK_SET)                = 1118
munmap(0x2aaaaaac4000, 1118)            = 0
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/group", O_RDONLY)            = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
lseek(4, 0, SEEK_CUR)                   = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=636, ...}) = 0
mmap(NULL, 636, PROT_READ, MAP_SHARED, 4, 0) = 0x2aaaaaac4000
lseek(4, 636, SEEK_SET)                 = 636
munmap(0x2aaaaaac4000, 636)             = 0
close(4)                                = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaac4000
write(1, "foo/\n", 5)                   = 5
open("foo", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 7 entries */, 4096)    = 184
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
mkdir("foo/tar.JSQLy3", 0700)           = 0
rename("foo/a", "foo/tar.JSQLy3")       = 0
rename("foo/c", "foo/a")                = 0
rename("foo/b", "foo/c")                = 0
rename("foo/tar.JSQLy3", "foo/b")       = 0
lstat("foo/a", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "tar: Deleting `foo/a\'\n", 22) = 22
unlink("foo/a")                         = -1 EISDIR (Is a directory)
rmdir("foo/a")                          = -1 ENOTEMPTY (Directory not empty)
open("foo/a", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
unlink("foo/a/filec")                   = 0
rmdir("foo/a")                          = 0
lstat("foo/b", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "tar: Deleting `foo/b\'\n", 22) = 22
unlink("foo/b")                         = -1 EISDIR (Is a directory)
rmdir("foo/b")                          = -1 ENOTEMPTY (Directory not empty)
open("foo/b", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
unlink("foo/b/filea")                   = 0
rmdir("foo/b")                          = 0
lstat("foo/c", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "tar: Deleting `foo/c\'\n", 22) = 22
unlink("foo/c")                         = -1 EISDIR (Is a directory)
rmdir("foo/c")                          = -1 ENOTEMPTY (Directory not empty)
open("foo/c", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
unlink("foo/c/fileb")                   = 0
rmdir("foo/c")                          = 0
mkdir("foo", 0755)                      = -1 EEXIST (File exists)
stat("foo", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "foo/a/\n", 7)                 = 7
open("foo/a", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or 
directory)
mkdir("foo/a", 0755)                    = 0
write(1, "foo/b/\n", 7)                 = 7
open("foo/b", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or 
directory)
mkdir("foo/b", 0755)                    = 0
write(1, "foo/c/\n", 7)                 = 7
open("foo/c", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or 
directory)
mkdir("foo/c", 0755)                    = 0
clock_gettime(CLOCK_REALTIME, {1152485122, 691540000}) = 0
clock_gettime(CLOCK_REALTIME, {1152485122, 691554000}) = 0
close(3)                                = 0
utimes("foo/c", {1152473729, 0})        = 0
chmod("foo/c", 02755)                   = 0
chown("foo/c", 0, 0)                    = 0
chmod("foo/c", 02755)                   = 0
utimes("foo/b", {1152473729, 0})        = 0
chmod("foo/b", 02755)                   = 0
chown("foo/b", 0, 0)                    = 0
chmod("foo/b", 02755)                   = 0
utimes("foo/a", {1152473729, 0})        = 0
chmod("foo/a", 02755)                   = 0
chown("foo/a", 0, 0)                    = 0
chmod("foo/a", 02755)                   = 0
utimes("foo", {1152473729, 0})          = 0
chmod("foo", 02755)                     = 0
chown("foo", 0, 0)                      = 0
chmod("foo", 02755)                     = 0
close(1)                                = 0
munmap(0x2aaaaaac4000, 4096)            = 0
close(2)                                = 0
exit_group(0)                           = ?
Process 16751 detached
execve("/bin/tar", ["tar", "xfgv", "arch.2", "/dev/null"], [/* 13 vars */]) = 0
uname({sys="Linux", node="intrepid", ...}) = 0
brk(0)                                  = 0x54d000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaac2000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=6016, ...}) = 0
mmap(NULL, 6016, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/librt.so.1", O_RDONLY)       = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`(\0\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=35752, ...}) = 0
mmap(NULL, 1084424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2aaaaabc3000
mprotect(0x2aaaaabcb000, 1051656, PROT_NONE) = 0
mmap(0x2aaaaacca000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x2aaaaacca000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\305"..., 640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0"..., 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=1295640, ...}) = 0
mmap(NULL, 2354344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2aaaaaccc000
mprotect(0x2aaaaadf0000, 1158312, PROT_NONE) = 0
mmap(0x2aaaaaeef000, 98304, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x123000) = 0x2aaaaaeef000
mmap(0x2aaaaaf07000, 15528, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaf07000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0PV\0\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=97401, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaf0b000
mmap(NULL, 1131368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2aaaaaf0c000
mprotect(0x2aaaaaf1c000, 1065832, PROT_NONE) = 0
mmap(0x2aaaab01b000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x2aaaab01b000
mmap(0x2aaaab01d000, 13160, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaab01d000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaab021000
mprotect(0x2aaaaaeef000, 86016, PROT_READ) = 0
arch_prctl(ARCH_SET_FS, 0x2aaaab0216d0) = 0
munmap(0x2aaaaaac4000, 6016)            = 0
set_tid_address(0x2aaaab021760)         = 16548
rt_sigaction(SIGRTMIN, {0x2aaaaaf111e0, [], SA_RESTORER|SA_SIGINFO, 
0x2aaaaaf187a0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x2aaaaaf11260, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 
0x2aaaaaf187a0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0x7fffffb72c20, 31, (nil), 0}) = 0
clock_gettime(CLOCK_REALTIME, {1152485060, 844417000}) = 0
brk(0)                                  = 0x54d000
brk(0x56e000)                           = 0x56e000
fcntl(0, F_GETFD)                       = 0
fcntl(1, F_GETFD)                       = 0
fcntl(2, F_GETFD)                       = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
geteuid()                               = 0
umask(0)                                = 022
open("arch.2", O_RDONLY)                = 3
read(3, "foo/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 10240) = 
10240
fstat(3, {st_mode=S_IFREG|0644, st_size=10240, ...}) = 0
clock_gettime(CLOCK_REALTIME, {1152485060, 844871000}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaac4000
read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x2aaaaaac4000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=6016, ...}) = 0
mmap(NULL, 6016, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2aaaaaac4000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnss_compat.so.2", O_RDONLY) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\26\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=35568, ...}) = 0
mmap(NULL, 1082528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab022000
mprotect(0x2aaaab02a000, 1049760, PROT_NONE) = 0
mmap(0x2aaaab129000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x7000) = 0x2aaaab129000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnsl.so.1", O_RDONLY)      = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 I\0\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=86272, ...}) = 0
mmap(NULL, 1141488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab12b000
mprotect(0x2aaaab13f000, 1059568, PROT_NONE) = 0
mmap(0x2aaaab23e000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x13000) = 0x2aaaab23e000
mmap(0x2aaaab240000, 6896, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaab240000
close(4)                                = 0
munmap(0x2aaaaaac4000, 6016)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=6016, ...}) = 0
mmap(NULL, 6016, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2aaaaaac4000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnss_nis.so.2", O_RDONLY)  = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p$\0\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=43448, ...}) = 0
mmap(NULL, 1090960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab242000
mprotect(0x2aaaab24c000, 1050000, PROT_NONE) = 0
mmap(0x2aaaab34b000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x9000) = 0x2aaaab34b000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000#\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0644, st_size=47472, ...}) = 0
mmap(NULL, 1095304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 
0x2aaaab34d000
mprotect(0x2aaaab358000, 1050248, PROT_NONE) = 0
mmap(0x2aaaab457000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0xa000) = 0x2aaaab457000
close(4)                                = 0
munmap(0x2aaaaaac4000, 6016)            = 0
open("/etc/passwd", O_RDONLY)           = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
lseek(4, 0, SEEK_CUR)                   = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=1118, ...}) = 0
mmap(NULL, 1118, PROT_READ, MAP_SHARED, 4, 0) = 0x2aaaaaac4000
lseek(4, 1118, SEEK_SET)                = 1118
munmap(0x2aaaaaac4000, 1118)            = 0
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/group", O_RDONLY)            = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
lseek(4, 0, SEEK_CUR)                   = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=636, ...}) = 0
mmap(NULL, 636, PROT_READ, MAP_SHARED, 4, 0) = 0x2aaaaaac4000
lseek(4, 636, SEEK_SET)                 = 636
munmap(0x2aaaaaac4000, 636)             = 0
close(4)                                = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2aaaaaac4000
write(1, "foo/\n", 5)                   = 5
open("foo", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 7 entries */, 4096)    = 184
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
mkdir("foo/tar.crQir1", 0700)           = 0
rename("foo/a", "foo/tar.crQir1")       = 0
rename("foo/c", "foo/a")                = 0
rename("foo/b", "foo/c")                = 0
rename("foo/tar.crQir1", "foo/b")       = 0
mkdir("foo", 0755)                      = -1 EEXIST (File exists)
stat("foo", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "foo/a/\n", 7)                 = 7
open("foo/a", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
mkdir("foo/a", 0755)                    = -1 EEXIST (File exists)
stat("foo/a", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "foo/b/\n", 7)                 = 7
open("foo/b", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
mkdir("foo/b", 0755)                    = -1 EEXIST (File exists)
stat("foo/b", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
write(1, "foo/c/\n", 7)                 = 7
open("foo/c", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
mkdir("foo/c", 0755)                    = -1 EEXIST (File exists)
stat("foo/c", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
clock_gettime(CLOCK_REALTIME, {1152485060, 848069000}) = 0
clock_gettime(CLOCK_REALTIME, {1152485060, 848083000}) = 0
close(3)                                = 0
utimes("foo/c", {1152473729, 0})        = 0
chmod("foo/c", 02755)                   = 0
chown("foo/c", 0, 0)                    = 0
chmod("foo/c", 02755)                   = 0
utimes("foo/b", {1152473729, 0})        = 0
chmod("foo/b", 02755)                   = 0
chown("foo/b", 0, 0)                    = 0
chmod("foo/b", 02755)                   = 0
utimes("foo/a", {1152473729, 0})        = 0
chmod("foo/a", 02755)                   = 0
chown("foo/a", 0, 0)                    = 0
chmod("foo/a", 02755)                   = 0
utimes("foo", {1152473729, 0})          = 0
chmod("foo", 02755)                     = 0
chown("foo", 0, 0)                      = 0
chmod("foo", 02755)                     = 0
close(1)                                = 0
munmap(0x2aaaaaac4000, 4096)            = 0
close(2)                                = 0
exit_group(0)                           = ?
Process 16548 detached

Reply via email to