bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] rmt tar hangs


From: Roland JARRY
Subject: Re: [Bug-tar] rmt tar hangs
Date: Tue, 14 Sep 2010 13:11:55 +0200
User-agent: Mozilla-Thunderbird 2.0.0.24 (X11/20100329)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I confirm that your patch has corrected the problem.
Here are the logs :

- ------------------------------------------------------------------------
WITH THE PATCH
- ------------------------------------------------------------------------
- ------------------------------------------------------------------------
tail -f /tmp/rmt.log on the remote
C: O/dev/st0
C: 0 O_RDONLY
S: A(null)
C: R10240
S: A(null)
C: C
S: A(null)
- ------------------------------------------------------------------------
- ------------------------------------------------------------------------
strace on local system :
afia:~# strace tar x --directory / --rmt-command="/usr/local/bin/rmt.new
- --debug=11 --debug-file=/tmp/rmt.log" -f 10.16.1.11:/dev/st0
tmp/backup-time
execve("/bin/tar", ["tar", "x", "--directory", "/",
"--rmt-command=/usr/local/bin/rmt"..., "-f", "10.16.1.11:/dev/st0",
"tmp/backup-time"], [/* 15 vars */]) = 0
brk(0)                                  = 0x147f000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f57d4614000
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)
= 0x7f57d4612000
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=14761, ...}) = 0
mmap(NULL, 14761, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f57d460e000
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>address@hidden@"..., 832)
= 832
fstat(3, {st_mode=S_IFREG|0644, st_size=35784, ...}) = 0
mmap(NULL, 2132968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f57d41f1000
mprotect(0x7f57d41f9000, 2093056, PROT_NONE) = 0
mmap(0x7f57d43f8000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f57d43f8000
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\300\342\1\0\0\0\0\0@"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1375536, ...}) = 0
mmap(NULL, 3482232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f57d3e9e000
mprotect(0x7f57d3fe8000, 2093056, PROT_NONE) = 0
mmap(0x7f57d41e7000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x149000) = 0x7f57d41e7000
mmap(0x7f57d41ec000, 17016, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f57d41ec000
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\0\320W\0\0\0\0\0\0@"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=130114, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f57d460d000
mmap(NULL, 2208624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7f57d3c82000
mprotect(0x7f57d3c98000, 2097152, PROT_NONE) = 0
mmap(0x7f57d3e98000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f57d3e98000
mmap(0x7f57d3e9a000, 13168, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f57d3e9a000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f57d460c000
arch_prctl(ARCH_SET_FS, 0x7f57d460c6e0) = 0
mprotect(0x7f57d41e7000, 12288, PROT_READ) = 0
munmap(0x7f57d460e000, 14761)           = 0
set_tid_address(0x7f57d460c770)         = 4928
set_robust_list(0x7f57d460c780, 0x18)   = 0
futex(0x7fffc4f2575c, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x7f57d3c87660, [], SA_RESTORER|SA_SIGINFO,
0x7f57d3c90a80}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f57d3c876f0, [],
SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f57d3c90a80}, 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
clock_gettime(CLOCK_REALTIME, {1284462112, 501009804}) = 0
brk(0)                                  = 0x147f000
brk(0x14a0000)                          = 0x14a0000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1282816, ...}) = 0
mmap(NULL, 1282816, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f57d44d2000
close(3)                                = 0
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
pipe([3, 4])                            = 0
pipe([5, 6])                            = 0
clone(child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0x7f57d460c770) = 4929
close(6)                                = 0
close(3)                                = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
write(4, "O/dev/st0\n0 O_RDONLY\n"..., 21) = 21
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
read(5, "A"..., 1)                      = 1
read(5, "0"..., 1)                      = 1
read(5, "\n"..., 1)                     = 1
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
write(4, "R10240\n"..., 7)              = 7
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
read(5, "A"..., 1)                      = 1
read(5, "1"..., 1)                      = 1
read(5, "0"..., 1)                      = 1
read(5, "2"..., 1)                      = 1
read(5, "4"..., 1)                      = 1
read(5, "0"..., 1)                      = 1
read(5, "\n"..., 1)                     = 1
read(5, "tmp/backup-time\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 10240)
= 10240
clock_gettime(CLOCK_REALTIME, {1284462112, 637841798}) = 0
open(".", O_RDONLY)                     = 3
dup(3)                                  = 6
close(6)                                = 0
chdir("/")                              = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 6
fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(6, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
sendto(6, "\2\0\0\0\v\0\0\0\7\0\0\0passwd\0"..., 19, MSG_NOSIGNAL, NULL,
0) = 19
poll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=6,
revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(2)=[{"passwd\0"..., 7},
{"\270O\3\0\0\0\0\0"..., 8}], msg_controllen=24, {cmsg_len=20,
cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {7}},
msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 15
mmap(NULL, 217016, PROT_READ, MAP_SHARED, 7, 0) = 0x7f57d449d000
close(7)                                = 0
close(6)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 6
fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(6, {sa_family=AF_FILE, path="/var/run/nscd/socket"...}, 110) = 0
sendto(6, "\2\0\0\0\f\0\0\0\6\0\0\0group\0"..., 18, MSG_NOSIGNAL, NULL,
0) = 18
poll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=6,
revents=POLLIN|POLLHUP}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(2)=[{"group\0"..., 6},
{"\270O\3\0\0\0\0\0"..., 8}], msg_controllen=24, {cmsg_len=20,
cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {7}},
msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 14
mmap(NULL, 217016, PROT_READ, MAP_SHARED, 7, 0) = 0x7f57d4468000
close(7)                                = 0
close(6)                                = 0
open("tmp/backup-time", O_WRONLY|O_CREAT|O_EXCL, 0600) = 6
write(6, "Date:Tue Aug 17 22:11:40 2010\nSec"..., 57) = 57
close(6)                                = 0
futimesat(AT_FDCWD, "tmp/backup-time", {{1284462112, 501009},
{1282079500, 0}}) = 0
chown("tmp/backup-time", 0, 0)          = 0
chmod("tmp/backup-time", 0644)          = 0
clock_gettime(CLOCK_REALTIME, {1284462112, 640117094}) = 0
clock_gettime(CLOCK_REALTIME, {1284462112, 640170725}) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
write(4, "C\n"..., 2)                   = 2
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
read(5, "A"..., 1)                      = 1
- --- SIGCHLD (Child exited) @ 0 (0) ---
read(5, "0"..., 1)                      = 1
read(5, "\n"..., 1)                     = 1
close(5)                                = 0
close(4)                                = 0
close(1)                                = 0
close(2)                                = 0
exit_group(0)                           = ?
- ------------------------------------------------------------------------

- ------------------------------------------------------------------------
WITHOUT THE PATCH
- ------------------------------------------------------------------------
tail -f /tmp/rmt.log :
nothing !
- ------------------------------------------------------------------------
strace on local system :
afia:~# strace tar x --directory / --rmt-command="/usr/local/bin/rmt
- --debug=11 --debug-file=/tmp/rmt.log" -f 10.16.1.11:/dev/st0
tmp/backup-time
execve("/bin/tar", ["tar", "x", "--directory", "/",
"--rmt-command=/usr/local/bin/rmt"..., "-f", "10.16.1.11:/dev/st0",
"tmp/backup-time"], [/* 15 vars */]) = 0
brk(0)                                  = 0x20f6000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7fc14e49a000
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)
= 0x7fc14e498000
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=14761, ...}) = 0
mmap(NULL, 14761, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc14e494000
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>address@hidden@"..., 832)
= 832
fstat(3, {st_mode=S_IFREG|0644, st_size=35784, ...}) = 0
mmap(NULL, 2132968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7fc14e077000
mprotect(0x7fc14e07f000, 2093056, PROT_NONE) = 0
mmap(0x7fc14e27e000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fc14e27e000
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\300\342\1\0\0\0\0\0@"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1375536, ...}) = 0
mmap(NULL, 3482232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7fc14dd24000
mprotect(0x7fc14de6e000, 2093056, PROT_NONE) = 0
mmap(0x7fc14e06d000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x149000) = 0x7fc14e06d000
mmap(0x7fc14e072000, 17016, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc14e072000
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\0\320W\0\0\0\0\0\0@"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=130114, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7fc14e493000
mmap(NULL, 2208624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7fc14db08000
mprotect(0x7fc14db1e000, 2097152, PROT_NONE) = 0
mmap(0x7fc14dd1e000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fc14dd1e000
mmap(0x7fc14dd20000, 13168, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc14dd20000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7fc14e492000
arch_prctl(ARCH_SET_FS, 0x7fc14e4926e0) = 0
mprotect(0x7fc14e06d000, 12288, PROT_READ) = 0
munmap(0x7fc14e494000, 14761)           = 0
set_tid_address(0x7fc14e492770)         = 5199
set_robust_list(0x7fc14e492780, 0x18)   = 0
futex(0x7fff70e9971c, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x7fc14db0d660, [], SA_RESTORER|SA_SIGINFO,
0x7fc14db16a80}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7fc14db0d6f0, [],
SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fc14db16a80}, 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
clock_gettime(CLOCK_REALTIME, {1284462348, 15627366}) = 0
brk(0)                                  = 0x20f6000
brk(0x2117000)                          = 0x2117000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1282816, ...}) = 0
mmap(NULL, 1282816, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc14e358000
close(3)                                = 0
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
pipe([3, 4])                            = 0
pipe([5, 6])                            = 0
clone(child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0x7fc14e492770) = 5200
close(6)                                = 0
close(3)                                = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
write(4, "O/dev/st0\n0 O_RDONLY\n"..., 21) = 21
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
read(5, 0x7fff70e99510, 1)              = ? ERESTARTSYS (To be restarted)
- --- SIGWINCH (Window changed) @ 0 (0) ---
read(5,
- ------------------------------------------------------------------------
and waiting to infinite !

I was under Debian Lenny which use now the 1.23 version of tar due to
the security issue in old rmt.

Kind regards.

Sergey Poznyakoff a écrit :
> Roland JARRY <address@hidden> ha escrit:
> 
>> local : /usr/local/bin/tar x --directory / --rmt-command=/etc/rmt -f
>> rmt is launched on the remote machine but doing nothing and tar doesn't
>> finish.
>> I've installed the same version on local and remote servers.
> 
> Thanks for reporting.  Please try the attached patch.  Let me know
> if it works for you.
> 
> Regards,
> Sergey
> 
> 

- --
Roland JARRY
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkyPWHoACgkQso6IjJ1qNNt+ewCglwxrN1S4iAy61oxQbM/ete6/
7ssAn0tKyGMGoH9VzaL8vwaYaa35XCRx
=KqUi
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]