[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#6336) filedescriptor leak libnspr4.so



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 ...>