Gerrit Pape wrote:
> On Wed, Dec 06, 2006 at 09:18:38AM -0300, Alvaro Herrera wrote:
> > Yes. The configuration is the default, I think, and certainly the
> > startup script is. (It was started by "aptitude" or dpkg).
>
> Ok, that's good. Can you please strace the complete command chain?
> Please change the final line in /var/service/twoftpd/run to
>
> ...
> strace -f -o/tmp/trace twoftpd-auth cvm-unix twoftpd-xfer
Wow, interesting. Now the server fails in a completely different way --
on the client I get "530 Authentication failed." On the strace output I
see this:
14242 mmap(NULL, 2344904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= -1 ENOMEM (Cannot allocate memory)
14242 close(3) = 0
14242 writev(2, [{"cvm-unix", 8}, {": ", 2}, {"error while loading shared
libra"..., 36}, {": ", 2}, {"libc.so.6", 9}, {": "
, 2}, {"failed to map segment from share"..., 40}, {": ", 2}, {"Cannot allocate
memory", 22}, {"\n", 1}], 10) = 124
On the log file I get that mesage:
@4000000045770e2f0c79ee7c cvm-unix: error while loading shared libraries:
libc.so.6: failed to map segment from shared object: Cannot allocate memory
The whole strace file is attached -- it's not very long.
--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
"La espina, desde que nace, ya pincha" (Proverbio africano)
14241 execve("/usr/bin/twoftpd-auth", ["twoftpd-auth", "cvm-unix",
"twoftpd-xfer"], [/* 10 vars */]) = 0
14241 uname({sys="Linux", node="perhan", ...}) = 0
14241 brk(0) = 0x509000
14241 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
14241 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x2ba780899000
14241 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
14241 open("/etc/ld.so.cache", O_RDONLY) = 3
14241 fstat(3, {st_mode=S_IFREG|0644, st_size=60525, ...}) = 0
14241 mmap(NULL, 60525, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2ba78089b000
14241 close(3) = 0
14241 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
14241 open("/lib/libc.so.6", O_RDONLY) = 3
14241 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
14241 lseek(3, 624, SEEK_SET) = 624
14241 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
14241 fstat(3, {st_mode=S_IFREG|0755, st_size=1286312, ...}) = 0
14241 mmap(NULL, 2344904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x2ba78099a000
14241 mprotect(0x2ba780abb000, 1161160, PROT_NONE) = 0
14241 mmap(0x2ba780bbb000, 98304, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x121000) = 0x2ba780bbb000
14241 mmap(0x2ba780bd3000, 14280, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ba780bd3000
14241 close(3) = 0
14241 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x2ba780bd7000
14241 mprotect(0x2ba780bbb000, 86016, PROT_READ) = 0
14241 arch_prctl(ARCH_SET_FS, 0x2ba780bd76d0) = 0
14241 munmap(0x2ba78089b000, 60525) = 0
14241 rt_sigaction(SIGALRM, {0x401990, [], SA_RESTORER, 0x2ba7809c9110}, NULL,
8) = 0
14241 brk(0) = 0x509000
14241 brk(0x52a000) = 0x52a000
14241 alarm(0) = 0
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "220-TwoFTPd server ready.\r\n", 27) = 27
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "220 Authenticate first.\r\n", 25) = 25
14241 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 900000) = 1
14241 read(0, "FEAT\r\n", 4096) = 6
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "502 Command not supported.\r\n", 28) = 28
14241 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 900000) = 1
14241 read(0, "AUTH TLS\r\n", 4096) = 10
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "502 Command not supported.\r\n", 28) = 28
14241 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 900000) = 1
14241 read(0, "USER alvherre\r\n", 4096) = 15
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "331 Send PASS.\r\n", 16) = 16
14241 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 900000) = 1
14241 read(0, "PASS ********\r\n", 4096) = 15
14241 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
14241 pipe([3, 4]) = 0
14241 pipe([5, 6]) = 0
14241 clone(child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0x2ba780bd7760) = 14242
14241 close(3) = 0
14241 close(6) = 0
14241 write(4, "\1alvherre\0localhost\0********\0\0", 30) = 30
14241 close(4) = 0
14241 read(5, <unfinished ...>
14242 close(0) = 0
14242 close(4) = 0
14242 dup2(3, 0) = 0
14242 close(3) = 0
14242 close(1) = 0
14242 close(5) = 0
14242 dup2(6, 1) = 1
14242 close(6) = 0
14242 execve("/usr/local/bin/cvm-unix", ["cvm-unix"], [/* 11 vars */]) = -1
ENOENT (No such file or directory)
14242 execve("/usr/local/sbin/cvm-unix", ["cvm-unix"], [/* 11 vars */]) = -1
ENOENT (No such file or directory)
14242 execve("/bin/cvm-unix", ["cvm-unix"], [/* 11 vars */]) = -1 ENOENT (No
such file or directory)
14242 execve("/sbin/cvm-unix", ["cvm-unix"], [/* 11 vars */]) = -1 ENOENT (No
such file or directory)
14242 execve("/usr/bin/cvm-unix", ["cvm-unix"], [/* 11 vars */]) = 0
14242 uname({sys="Linux", node="perhan", ...}) = 0
14242 brk(0) = 0x506000
14242 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
14242 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x2abc5156d000
14242 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
14242 open("/etc/ld.so.cache", O_RDONLY) = 3
14242 fstat(3, {st_mode=S_IFREG|0644, st_size=60525, ...}) = 0
14242 mmap(NULL, 60525, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2abc5156f000
14242 close(3) = 0
14242 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
14242 open("/lib/libcrypt.so.1", O_RDONLY) = 3
14242 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\v\0"..., 640)
= 640
14242 fstat(3, {st_mode=S_IFREG|0644, st_size=22656, ...}) = 0
14242 mmap(NULL, 1257888, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x2abc5166e000
14242 mprotect(0x2abc51673000, 1237408, PROT_NONE) = 0
14242 mmap(0x2abc51772000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x2abc51772000
14242 mmap(0x2abc51774000, 184736, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2abc51774000
14242 close(3) = 0
14242 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
14242 open("/lib/libc.so.6", O_RDONLY) = 3
14242 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
14242 lseek(3, 624, SEEK_SET) = 624
14242 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
14242 fstat(3, {st_mode=S_IFREG|0755, st_size=1286312, ...}) = 0
14242 mmap(NULL, 2344904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= -1 ENOMEM (Cannot allocate memory)
14242 close(3) = 0
14242 writev(2, [{"cvm-unix", 8}, {": ", 2}, {"error while loading shared
libra"..., 36}, {": ", 2}, {"libc.so.6", 9}, {": ", 2}, {"failed to map segment
from share"..., 40}, {": ", 2}, {"Cannot allocate memory", 22}, {"\n", 1}], 10)
= 124
14242 exit_group(127) = ?
14241 <... read resumed> "", 512) = 0
14241 --- SIGCHLD (Child exited) @ 0 (0) ---
14241 kill(14242, SIGTERM) = 0
14241 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 127}], 0, NULL) = 14242
14241 rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "530 Authentication failed.\r\n", 28) = 28
14241 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 900000) = 1
14241 read(0, "PWD\r\n", 4096) = 5
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "502 Command not supported.\r\n", 28) = 28
14241 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 900000) = 1
14241 read(0, "QUIT\r\n", 4096) = 6
14241 poll([{fd=1, events=POLLOUT, revents=POLLOUT}], 1, 900000) = 1
14241 write(1, "221 Bye.\r\n", 10) = 10
14241 exit_group(0) = ?