Issue 6336 - filedescriptor leak libnspr4.so
Summary: filedescriptor leak libnspr4.so
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-18 14:50 UTC by liedekef@telenet.be
Modified: 2014-08-01 21:03 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description liedekef@telenet.be 2009-10-18 14:50:10 UTC
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 ...>
Comment 1 Howard Chu 2009-11-11 00:07:00 UTC
changed notes
changed state Open to Closed
Comment 2 OpenLDAP project 2014-08-01 21:03:41 UTC
Red Hat