Full_Name: Franky Van Liedekerke Version: openldap-servers-2.4.15-6.fc11.i586 OS: Fedora 11 URL: Submission from: (NULL) (84.197.109.39)
I'm running openldap version 2.4.15-6 (rpm) on a up-to-date fedora 11 server. After some time, my openldap stops responding, and I narrowed it down to a file descriptor leak, where openldap keeps /lib/libnspr4.so open X times untill it runs out of file descriptors. It seems to be related to this redhat bug: https://bugzilla.redhat.com/show_bug.cgi?id=502133
Below is a small strace of 1 openldap thread where it is clearly shown that a thread opens up libnspr4.so but never closes it again. Unfortunately, I can't reproduce this with any ldap query, so it seems to be related to the thread lib itself ...
[pid 24483] <... futex resumed> ) = 0 [pid 24483] futex(0xffb6cc, FUTEX_WAKE_PRIVATE, 1) = 0 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 68, MSG_NOSIGNAL) = 68 [pid 24483] time(NULL) = 1255876596 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 83, MSG_NOSIGNAL) = 83 [pid 24483] read(13, "09\2\2\0\220`3"..., 8) = 8 [pid 24483] read(13, "\2\1\3\4"cn=Sandra Gyles,ou=users,o=g"..., 51) = 51 [pid 24483] time(NULL) = 1255876596 [pid 24483] read(13, 0x1088213, 8) = -1 EAGAIN (Resource temporarily unavailable) [pid 24483] epoll_ctl(6, EPOLL_CTL_MOD, 13, {EPOLLIN, {u32=16643796, u64=16643796}}) = 0 [pid 24483] write(5, "0"..., 1) = 1 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 57, MSG_NOSIGNAL) = 57 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 92, MSG_NOSIGNAL) = 92 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 130, MSG_NOSIGNAL) = 130 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 105, MSG_NOSIGNAL) = 105 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 86, MSG_NOSIGNAL) = 86 [pid 24483] open("/etc/ld.so.cache", O_RDONLY) = 38 [pid 24483] fstat64(38, {st_mode=S_IFREG|0644, st_size=57720, ...}) = 0 [pid 24483] mmap2(NULL, 57720, PROT_READ, MAP_PRIVATE, 38, 0) = 0xa12ec000 [pid 24483] close(38) = 0 [pid 24483] open("/lib/libnspr4.so", O_RDONLY) = 38 [pid 24483] read(38, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\10`\0054\0\0\0\214"..., 512) = 512 [pid 24483] fstat64(38, {st_mode=S_IFREG|0755, st_size=232252, ...}) = 0 [pid 24483] munmap(0xa12ec000, 57720) = 0 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 130, MSG_NOSIGNAL) = 130 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 71, MSG_NOSIGNAL) = 71 [pid 24483] time(NULL) = 1255876596 [pid 24483] send(3, "<167>Oct 18 16:36:36 slapd[23759]"..., 78, MSG_NOSIGNAL) = 78 [pid 24483] write(13, "0\r\2\2\0\220a\7\n\1\0\4\0\4\0"..., 15) = 15 [pid 24483] futex(0xffb6e8, FUTEX_WAIT_PRIVATE, 434, NULL <unfinished ...>