Pierre Habouzit wrote:
I would need a trace following forks then, yours is useless as it traces the father. please run strace -f -F -s 256 -o trace whitelister as root and send it as an attachement to the bug report please.
Anything you say... It is attached. :-) /Armin
28596 execve("/usr/sbin/whitelister", ["whitelister"], [/* 21 vars */]) = 0 28596 uname({sys="Linux", node="space-based.de", ...}) = 0 28596 brk(0) = 0x808b000 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000 28596 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 28596 open("/etc/ld.so.cache", O_RDONLY) = 3 28596 fstat64(3, {st_mode=S_IFREG|0644, st_size=22959, ...}) = 0 28596 mmap2(NULL, 22959, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40002000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/usr/lib/libspf-1.0.so.0", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\33\0\0004\0\0\0\250\35\1\0\0\0\0\0004\0 \0\4\0(\0\27\0\26\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\350\10\1\0\350\10\1\0\5\0\0\0\0\20\0\0\1\0\0\0\350\10\1\0\350\30\1\0\350\30\1\0\30\24\0\0P\24\0\0\6\0\0\0\0\20\0\0\2\0\0\0\374\10\1\0\374\30\1\0\374\30\1\0\340\0\0\0\340\0\0\0\6\0\0\0\4\0\0\0Q\345td\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\4\0\0\0a\0\0\0|\0\0\0007\0\0\0\32\0\0\0Z\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0k\0\0\0d\0\0\0\0\0\0\0z\0\0\0L\0\0"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0644, st_size=74048, ...}) = 0 28596 mmap2(NULL, 77112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40008000 28596 mmap2(0x40019000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x40019000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/lib/tls/libm.so.6", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`#\352O4\0\0\0p8\2\0\0\0\0\0004\0 \0\10\0(\0!\0 \0\6\0\0\0004\0\0\0004\360\351O4\360\351O\0\1\0\0\0\1\0\0\5\0\0\0\4\0\0\0\3\0\0\0008(\2\0008\30\354O8\30\354O\23\0\0\0\23\0\0\0\4\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\360\351O\0\360\351OP(\2\0P(\2\0\5\0\0\0\0\20\0\0\1\0\0\0\344.\2\0\344.\354O\344.\354OX\1\0\0\234\1\0\0\6\0\0\0\0\20\0\0\2\0\0\0\370.\2\0\370.\354O\370.\354O\340\0\0\0\340\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0004\1\0\0004\361\351O4\361\351O \0\0\0 \0\0\0"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0644, st_size=146840, ...}) = 0 28596 mmap2(0x4fe9f000, 147584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4fe9f000 28596 mmap2(0x4fec2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22) = 0x4fec2000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/lib/tls/libdl.so.2", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\234\351O4\0\0\0\370&\0\0\0\0\0\0004\0 \0\10\0(\0\36\0\35\0\6\0\0\0004\0\0\0004\220\351O4\220\351O\0\1\0\0\0\1\0\0\5\0\0\0\4\0\0\0\3\0\0\0\372\31\0\0\372\251\351O\372\251\351O\23\0\0\0\23\0\0\0\4\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\220\351O\0\220\351O\24\32\0\0\24\32\0\0\5\0\0\0\0\20\0\0\1\0\0\0\324\36\0\0\324\276\351O\324\276\351O|\1\0\0\240\1\0\0\6\0\0\0\0\20\0\0\2\0\0\0\354\36\0\0\354\276\351O\354\276\351O\340\0\0\0\340\0\0\0\6\0\0\0\4\0\0\0\4\0\0\000"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0644, st_size=11176, ...}) = 0 28596 mmap2(0x4fe99000, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4fe99000 28596 mmap2(0x4fe9b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x4fe9b000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/lib/tls/libc.so.6", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\237\327O4\0\0\0\220\3\23\0\0\0\0\0004\0 \0\n\0([EMAIL PROTECTED]@[EMAIL PROTECTED]@\227\0\0\6\0\0\0\0\20\0\0\2\0\0\0<\335\22\0<-\351O<-\351O\350\0\0\0\350\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0t\1\0\0tQ\326OtQ\326O \0\0\0 \0\0\0\4\0"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0755, st_size=1248696, ...}) = 0 28596 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001b000 28596 mmap2(0x4fd65000, 1251484, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4fd65000 28596 mmap2(0x4fe8d000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x128) = 0x4fe8d000 28596 mmap2(0x4fe94000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4fe94000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\347\362O4\0\0\0\354\352\0\0\0\0\0\0004\0 \0\t\0(\0&\0#\0\6\0\0\0004\0\0\0004\240\362O4\240\362O \1\0\0 \1\0\0\5\0\0\0\4\0\0\0\3\0\0\0\343\312\0\0\343j\363O\343j\363O\23\0\0\0\23\0\0\0\4\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\240\362O\0\240\362O\330\325\0\0\330\325\0\0\5\0\0\0\0\20\0\0\1\0\0\0\264\335\0\0\264\215\363O\264\215\363Ot\3\0\0$$\0\0\6\0\0\0\0\20\0\0\2\0\0\0\260\336\0\0\260\216\363O\260\216\363O\360\0\0\0\360\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0T\1\0\0"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0755, st_size=86946, ...}) = 0 28596 mmap2(0x4ff2a000, 70104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4ff2a000 28596 mmap2(0x4ff38000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd) = 0x4ff38000 28596 mmap2(0x4ff3a000, 4568, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4ff3a000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/lib/tls/libresolv.so.2", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\304\7A4\0\0\0\240\10\1\0\0\0\0\0004\0 \0\10\0(\0\37\0\36\0\6\0\0\0004\0\0\0004\240\7A4\240\7A\0\1\0\0\0\1\0\0\5\0\0\0\4\0\0\0\3\0\0\0\347\355\0\0\347\215\10A\347\215\10A\23\0\0\0\23\0\0\0\4\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\240\7A\0\240\7A\0\356\0\0\0\356\0\0\5\0\0\0\0\20\0\0\1\0\0\0`\372\0\0`\232\10A`\232\10A`\7\0\0h.\0\0\6\0\0\0\0\20\0\0\2\0\0\0\4\377\0\0\4\237\10A\4\237\10A\330\0\0\0\330\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0004\1\0\0004\241\7A4\241\7A \0"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0644, st_size=68984, ...}) = 0 28596 mmap2(0x4107a000, 75976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4107a000 28596 mmap2(0x41089000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf) = 0x41089000 28596 mmap2(0x4108b000, 6344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4108b000 28596 close(3) = 0 28596 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 28596 open("/lib/tls/libnsl.so.1", O_RDONLY) = 3 28596 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\225\354O4\0\0\0\200,\1\0\0\0\0\0004\0 \0\10\0(\0\37\0\36\0\6\0\0\0004\0\0\0004`\354O4`\354O\0\1\0\0\0\1\0\0\5\0\0\0\4\0\0\0\3\0\0\0\274\32\1\0\274z\355O\274z\355O\23\0\0\0\23\0\0\0\4\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0`\354O\0`\354O\324\32\1\0\324\32\1\0\5\0\0\0\0\20\0\0\1\0\0\0\214\35\1\0\214\215\355O\214\215\355O\30\10\0\0t)\0\0\6\0\0\0\0\20\0\0\2\0\0\0`\36\1\0`\216\355O`\216\355O\330\0\0\0\330\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0004\1\0\0004a\354O4a\354O \0"..., 512) = 512 28596 fstat64(3, {st_mode=S_IFREG|0644, st_size=78168, ...}) = 0 28596 mmap2(0x4fec6000, 87808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4fec6000 28596 mmap2(0x4fed8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11) = 0x4fed8000 28596 mmap2(0x4feda000, 5888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4feda000 28596 close(3) = 0 28596 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001c000 28596 mprotect(0x4fe8d000, 20480, PROT_READ) = 0 28596 set_thread_area({entry_number:-1 -> 6, base_addr:0x4001cb60, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 28596 munmap(0x40002000, 22959) = 0 28596 set_tid_address(0x4001cba8) = 28596 28596 rt_sigaction(SIGRTMIN, {0x4ff2e450, [], SA_RESTORER|SA_SIGINFO, 0x4ff35630}, NULL, 8) = 0 28596 rt_sigaction(SIGRT_1, {0x4ff2e3c0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x4ff35630}, NULL, 8) = 0 28596 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 28596 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 28596 uname({sys="Linux", node="space-based.de", ...}) = 0 28596 brk(0) = 0x808b000 28596 brk(0x80ac000) = 0x80ac000 28596 brk(0x80d0000) = 0x80d0000 28596 mmap2(NULL, 253952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001d000 28596 sigaltstack({ss_sp=0x80858c0, ss_flags=0, ss_size=8192}, NULL) = 0 28596 rt_sigaction(SIGSEGV, {0x806b1e3, [], SA_RESTORER|SA_STACK|SA_NOMASK, 0x4fd8d9e8}, NULL, 8) = 0 28596 readlink("/proc/self/exe", "/usr/sbin/whitelister", 256) = 21 28596 stat64("/usr/sbin/whitelister", {st_mode=S_IFREG|0755, st_size=244104, ...}) = 0 28596 _llseek(0, 0, 0xbfffdf3c, SEEK_CUR) = -1 ESPIPE (Illegal seek) 28596 _llseek(1, 0, 0xbfffdf2c, SEEK_CUR) = -1 ESPIPE (Illegal seek) 28596 _llseek(2, 0, 0xbfffdf2c, SEEK_CUR) = -1 ESPIPE (Illegal seek) 28596 stat64("/etc/whitelister.conf", {st_mode=S_IFREG|0644, st_size=408, ...}) = 0 28596 stat64("whitelister.conf", 0xbfffdefc) = -1 ENOENT (No such file or directory) 28596 open("/etc/whitelister.conf", O_RDONLY|O_LARGEFILE) = 3 28596 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 28596 _llseek(3, 0, [0], SEEK_CUR) = 0 28596 read(3, "##\n## configuration for whitelister\n##\n\n## sock\n## socket the server has to listen to\n## either unix or tcp socket are possible.\n## syntax is ip:port (the :port is required) for tcp sockets\n## defaults : 127.0.0.1:10000\n\n#sock: 127.0.0.1:10000\n\n## rb"..., 4096) = 408 28596 read(3, "", 4096) = 0 28596 close(3) = 0 28596 open("/var/run/whitelister.pid", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0644) = 3 28596 _llseek(3, 0, [0], SEEK_SET) = 0 28596 ftruncate64(3, 0) = 0 28596 write(3, "28596\n", 6) = 6 28596 umask(0111) = 022 28596 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4 28596 setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 28596 bind(4, {sa_family=AF_INET, sin_port=htons(10000), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 28596 listen(4, 0) = 0 28596 umask(022) = 0111 28596 geteuid32() = 0 28596 socket(PF_FILE, SOCK_STREAM, 0) = 5 28596 fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR) 28596 fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0 28596 connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0 28596 poll([{fd=5, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 28596 writev(5, [{"\2\0\0\0\f\0\0\0\6\0\0\0", 12}, {"group\0", 6}], 2) = 18 28596 poll([{fd=5, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 28596 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"group\0", 6}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {6}}, msg_flags=0x80000000 /* MSG_??? */}, MSG_NOSIGNAL) = 6 28596 fstat64(6, {st_mode=S_IFREG|0600, st_size=217016, ...}) = 0 28596 pread64(6, "\1\0\0\0h\0\0\0\242\0\0\0\1\0\0\0L\5BE\0\0\0\0\323\0\0\0\0L\3\0\260\t\0\0\"\0\0\0-\0\0\0\1\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\0\302\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\0\0\0\0\0\0", 104, 0) = 104 28596 mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 6, 0) = 0x4005b000 28596 close(6) = 0 28596 close(5) = 0 28596 setgid32(65534) = 0 28596 socket(PF_FILE, SOCK_STREAM, 0) = 5 28596 fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR) 28596 fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0 28596 connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0 28596 poll([{fd=5, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 28596 writev(5, [{"\2\0\0\0\v\0\0\0\7\0\0\0", 12}, {"passwd\0", 7}], 2) = 19 28596 poll([{fd=5, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 28596 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"passwd\0", 7}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {6}}, msg_flags=0x80000000 /* MSG_??? */}, MSG_NOSIGNAL) = 7 28596 fstat64(6, {st_mode=S_IFREG|0600, st_size=217016, ...}) = 0 28596 pread64(6, "\1\0\0\0h\0\0\0008\0\0\0\1\0\0\0L\5BE\0\0\0\0\323\0\0\0\0L\3\0\0\4\0\0\f\0\0\0\36\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\0\0\0\0\0\6\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\0\0\0\0\0\0", 104, 0) = 104 28596 mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 6, 0) = 0x40090000 28596 close(6) = 0 28596 close(5) = 0 28596 setuid32(65534) = 0 28596 open("/dev/null", O_WRONLY|O_LARGEFILE) = 5 28596 close(0) = 0 28596 dup2(5, 1) = 1 28596 dup2(5, 2) = 2 28596 close(5) = 0 28596 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x4001cba8) = 28597 28596 waitpid(28597, <unfinished ...> 28597 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x4001cba8) = 28598 28598 _llseek(3, 0, <unfinished ...> 28597 exit_group(0) = ? 28598 <... _llseek resumed> [0], SEEK_SET) = 0 28596 <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 28597 28598 ftruncate64(3, 0 <unfinished ...> 28596 --- SIGCHLD (Child exited) @ 0 (0) --- 28598 <... ftruncate64 resumed> ) = -1 EACCES (Permission denied) 28596 exit_group(0) = ? 28598 write(2, "Fatal error: exception Unix.Unix_error(1, \"ftruncate\", \"\")\n", 59) = 59 28598 exit_group(2) = ?