OpenLDAP unix domain socket leak

Ulrich Spoerlein uspoerlein at gmail.com
Thu Jun 14 07:38:28 UTC 2007


On 6/14/07, Alexandre Biancalana <biancalana at gmail.com> wrote:
> I change nss_ldap.conf again to access OpenLDAP via unix domain socket.
>
> Here is the connection counter before the change:
>
> Wed Jun 13 22:35:55 BRT 2007
> unix sockets:       99
> tcp sockets:       12
>
>
> Here is the connection counter rigth before change connection method back to
> TCP socket:
>
> Wed Jun 13 22:56:01 BRT 2007
> unix sockets:     2902
> tcp sockets:       13

Hi,

It looks like it is not actually a leak, per se. Letting slapd sit
there idly for a while, it starts to close the unix domain sockets.
However, if you constantly hit it with requests, it never recuperates.

misctest1# while :; do echo -n `date` "  "; lsof 2>/dev/null | awk '$1
~ /imapd/{imapd+=1} $1 ~ /slapd/{slapd+=1} $3 ~ /postfix/{pf+=1}
END{print imapd, pf, slapd}'; sleep 15;done
Thu Jun 14 09:27:58 CEST 2007   1354 46 228
Thu Jun 14 09:28:13 CEST 2007   1354 341 516
Thu Jun 14 09:28:29 CEST 2007   1354 325 868
Thu Jun 14 09:28:45 CEST 2007   1308 337 1192
Thu Jun 14 09:29:01 CEST 2007   1308 323 1192
Thu Jun 14 09:29:17 CEST 2007   1308 337 1457
Thu Jun 14 09:29:33 CEST 2007   1308 323 1520
Thu Jun 14 09:29:49 CEST 2007   1262 321 1748
Thu Jun 14 09:30:04 CEST 2007   1262 329 1979
Thu Jun 14 09:30:20 CEST 2007   1262 333 2316
Thu Jun 14 09:30:37 CEST 2007   1262 333 2580
Thu Jun 14 09:30:53 CEST 2007   1262 335 3044
Thu Jun 14 09:31:09 CEST 2007   1262 393 3164
Thu Jun 14 09:31:25 CEST 2007   1262 393 2420
Thu Jun 14 09:31:41 CEST 2007   1262 395 2556
Thu Jun 14 09:31:57 CEST 2007   1262 393 2556
Thu Jun 14 09:32:13 CEST 2007   1262 393 2556
Thu Jun 14 09:32:29 CEST 2007   1262 391 2556
Thu Jun 14 09:32:45 CEST 2007   1262 391 2556
Thu Jun 14 09:33:01 CEST 2007   1262 391 888
Thu Jun 14 09:33:16 CEST 2007   1262 385 888
Thu Jun 14 09:33:32 CEST 2007   1262 94 228
Thu Jun 14 09:33:48 CEST 2007   1262 94 228

I think we really should take this up with the OpenLDAP guys.

Btw, why is lsof printing lines multiple times? I ran lsof through
sort and get almost every line four times:
slapd     94403   ldipr  515u    unix 0xc8f68000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  515u    unix 0xc8f68000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  515u    unix 0xc8f68000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  515u    unix 0xc8f68000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  516u    unix 0xc8f13858        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  516u    unix 0xc8f13858        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  516u    unix 0xc8f13858        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  516u    unix 0xc8f13858        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  517u    unix 0xc8f35000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  517u    unix 0xc8f35000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  517u    unix 0xc8f35000        0t0
/var/run/openldap/ldapi
slapd     94403   ldipr  517u    unix 0xc8f35000        0t0
/var/run/openldap/ldapi

Uli


More information about the freebsd-stable mailing list