Bug#223512: nscd: fails to respond when using kernel 2.6.0-test11 with NPTL
Package: nscd
Version: 2.3.2.ds1-10
Severity: normal
Hi,
I was trying to play with 2.6.0-test11 on a system using nscd and LDAP.
This results in nscd not being able to respond. Staring using "nscd -d"
works and so does e.g. "LD_ASSUME_KERNEL=2.4.22 nscd". I've included a
strace output from the command "strace -f -o /tmp/nscd.strace nscd",
which I hope might be helpful for someone more knowlageable then me.
2.4.(23) on the same system does not have any problems.
I've seen a number of bug-reports which seems related to my untrained
eyes, e.g. #223441, #223394 and #218958, but since I can not really tell
I'm filing this one.
Straces of successful starts can be found from:
http://static054.netsafir.com/nscd-nptl/nscd-nonptl.strace
http://static054.netsafir.com/nscd-nptl/nscd-debug.strace
Regards,
Magnus
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux aprilia.mc.fi 2.6.0-test11-aprilia.2 #1 Mon Dec 8 04:07:42 EET 2003 i686
Locale: LANG=C, LC_CTYPE=fi_FI@euro
Versions of packages nscd depends on:
ii libc6 2.3.2.ds1-10 GNU C Library: Shared libraries an
-- no debconf information
3398 execve("/usr/sbin/nscd", ["nscd"], [/* 27 vars */]) = 0
3398 uname({sys="Linux", node="aprilia.mc.fi", ...}) = 0
3398 brk(0) = 0x8053000
3398 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
3398 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
3398 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
3398 open("/etc/ld.so.cache", O_RDONLY) = 3
3398 fstat64(3, {st_mode=S_IFREG|0644, st_size=77722, ...}) = 0
3398 old_mmap(NULL, 77722, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
3398 close(3) = 0
3398 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
3398 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3
3398 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200D\0"..., 512) = 512
3398 fstat64(3, {st_mode=S_IFREG|0644, st_size=77871, ...}) = 0
3398 old_mmap(NULL, 60736, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002b000
3398 old_mmap(0x40037000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x40037000
3398 old_mmap(0x40038000, 7488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40038000
3398 close(3) = 0
3398 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
3398 open("/lib/tls/libnsl.so.1", O_RDONLY) = 3
3398 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p9\0\000"..., 512) = 512
3398 fstat64(3, {st_mode=S_IFREG|0644, st_size=74188, ...}) = 0
3398 old_mmap(NULL, 85600, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4003a000
3398 old_mmap(0x4004c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x11000) = 0x4004c000
3398 old_mmap(0x4004d000, 7776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4004d000
3398 close(3) = 0
3398 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
3398 open("/lib/tls/libc.so.6", O_RDONLY) = 3
3398 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200X\1"..., 512) = 512
3398 fstat64(3, {st_mode=S_IFREG|0644, st_size=1270908, ...}) = 0
3398 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4004f000
3398 old_mmap(NULL, 1281292, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40050000
3398 old_mmap(0x4017e000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12d000) = 0x4017e000
3398 old_mmap(0x40187000, 7436, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40187000
3398 close(3) = 0
3398 set_thread_area({entry_number:-1 -> 6, base_addr:0x4004fa40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
3398 munmap(0x40018000, 77722) = 0
3398 set_tid_address(0x4004fa88) = 3398
3398 rt_sigaction(SIGRTMIN, {0x4002f3e0, [], SA_SIGINFO}, NULL, 8) = 0
3398 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0
3398 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
3398 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
3398 fstat64(3, {st_mode=S_IFREG|0644, st_size=1609184, ...}) = 0
3398 mmap2(NULL, 1609184, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40189000
3398 close(3) = 0
3398 brk(0) = 0x8053000
3398 brk(0x8074000) = 0x8074000
3398 brk(0) = 0x8074000
3398 open("/etc/nscd.conf", O_RDONLY) = 3
3398 fstat64(3, {st_mode=S_IFREG|0644, st_size=1254, ...}) = 0
3398 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40312000
3398 read(3, "#\n# /etc/nscd.conf\n#\n# An exampl"..., 4096) = 1254
3398 open("/var/log/nscd.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 4
3398 fstat64(4, {st_mode=S_IFREG|0644, st_size=16257, ...}) = 0
3398 mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40313000
3398 fstat64(4, {st_mode=S_IFREG|0644, st_size=16257, ...}) = 0
3398 _llseek(4, 16257, [16257], SEEK_SET) = 0
3398 read(3, "", 4096) = 0
3398 close(3) = 0
3398 munmap(0x40312000, 4096) = 0
3398 open("/var/run/nscd.pid", O_RDONLY) = -1 ENOENT (No such file or directory)
3398 time(NULL) = 1071011522
3398 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x4004fa88) = 3399
3399 open("/dev/null", O_RDWR) = 3
3399 fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
3399 dup2(3, 0) = 0
3399 dup2(3, 1) = 1
3399 dup2(3, 2) = 2
3399 close(3) = 0
3399 open("/proc/self/fd", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
3399 fstat64(3, {st_mode=S_IFDIR|0500, st_size=0, ...}) = 0
3399 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
3399 getdents64(3, /* 7 entries */, 1024) = 168
3399 close(4) = 0
3399 getdents64(3, /* 0 entries */, 1024) = 0
3399 close(3) = 0
3399 clone( <unfinished ...>
3398 exit_group(0) = ?
3399 <... clone resumed> child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x4004fa88) = 3400
3400 setsid() = 3400
3400 chdir("/") = 0
3400 open("/var/run/nscd.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
3400 getpid() = 3400
3400 fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
3400 mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40333000
3400 write(3, "3400\n", 5) = 5
3400 close(3) = 0
3400 munmap(0x40333000, 131072) = 0
3400 rt_sigaction(SIGTTOU, {SIG_IGN}, {SIG_DFL}, 8) = 0
3400 rt_sigaction(SIGTTIN, {SIG_IGN}, {SIG_DFL}, 8) = 0
3400 rt_sigaction(SIGTSTP, {SIG_IGN}, {SIG_DFL}, 8) = 0
3400 rt_sigaction(SIGINT, {0x804a620, [INT], SA_RESTART}, {SIG_DFL}, 8) = 0
3400 rt_sigaction(SIGQUIT, {0x804a620, [QUIT], SA_RESTART}, {SIG_DFL}, 8) = 0
3400 rt_sigaction(SIGTERM, {0x804a620, [TERM], SA_RESTART}, {SIG_DFL}, 8) = 0
3400 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
3400 unlink("/var/run/.nscd_socket") = -1 ENOENT (No such file or directory)
3400 stat64("/etc/passwd", {st_mode=S_IFREG|0644, st_size=1251, ...}) = 0
3400 stat64("/etc/group", {st_mode=S_IFREG|0644, st_size=752, ...}) = 0
3400 stat64("/etc/hosts", {st_mode=S_IFREG|0644, st_size=277, ...}) = 0
3400 socket(PF_UNIX, SOCK_STREAM, 0) = 3
3400 bind(3, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = 0
3400 chmod("/var/run/.nscd_socket", 0666) = 0
3399 exit_group(0) = ?
3400 listen(3, 128) = 0
3400 mmap2(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40333000
3400 mprotect(0x40333000, 4096, PROT_NONE) = 0
3400 clone(child_stack=0x40b32b48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x40b32c18, {entry_number:6, base_addr:0x40b32bd0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x40b32c18) = 3401
3401 time(NULL) = 1071011522
3401 time(NULL) = 1071011522
3401 poll( <unfinished ...>
3400 mmap2(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40b33000
3400 mprotect(0x40b33000, 4096, PROT_NONE) = 0
3400 clone(child_stack=0x41332b48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x41332c18, {entry_number:6, base_addr:0x41332bd0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x41332c18) = 3402
3402 time(NULL) = 1071011522
3402 time(NULL) = 1071011522
3402 poll( <unfinished ...>
3400 mmap2(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41333000
3400 mprotect(0x41333000, 4096, PROT_NONE) = 0
3400 clone(child_stack=0x41b32b48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x41b32c18, {entry_number:6, base_addr:0x41b32bd0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x41b32c18) = 3403
3403 accept(3, <unfinished ...>
3400 mmap2(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41b33000
3400 mprotect(0x41b33000, 4096, PROT_NONE) = 0
3400 clone(child_stack=0x42332b48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x42332c18, {entry_number:6, base_addr:0x42332bd0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x42332c18) = 3404
3404 accept(3, <unfinished ...>
3400 mmap2(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x42333000
3400 mprotect(0x42333000, 4096, PROT_NONE) = 0
3400 clone(child_stack=0x42b32b48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x42b32c18, {entry_number:6, base_addr:0x42b32bd0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x42b32c18) = 3405
3405 accept(3, <unfinished ...>
3400 time(NULL) = 1071011522
3400 time(NULL) = 1071011522
3400 poll( <unfinished ...>
3401 <... poll resumed> [{fd=3, events=POLLRDNORM, revents=POLLRDNORM}], 1, 15000) = 1
3402 <... poll resumed> [{fd=3, events=POLLRDNORM, revents=POLLRDNORM}], 1, 15000) = 1
3403 <... accept resumed> 0, NULL) = 4
3400 <... poll resumed> [{fd=3, events=POLLRDNORM, revents=POLLRDNORM}], 1, 15000) = 1
3401 accept(3, <unfinished ...>
3402 accept(3, <unfinished ...>
3403 read(4, <unfinished ...>
3400 accept(3, <unfinished ...>
3403 <... read resumed> "\2\0\0\0\4\0\0\0\v\0\0\0", 12) = 12
3403 getsockopt(4, SOL_SOCKET, SO_PEERCRED, "J\6\0\0\350\3\0\0\350\3\0\0", [12]) = 0
3403 read(4, "imap.mc.fi\0", 11) = 11
3403 getpid() = 3400
3403 write(4, "3400: handle_request: request re"..., 67) = 67
3403 getpid() = 3400
3403 write(4, "3400: \tGETHOSTBYNAME (imap.mc.fi"..., 34) = -1 EPIPE (Broken pipe)
3403 --- SIGPIPE (Broken pipe) @ 0 (0) ---
Reply to: