Andrea Cirulli wrote:
Ciao a tutti,

abbiamo nei nostri sistemi openldap 2.3.39, gestiamo l'autenticazione ai
sistemi di circa 2000 server con 19 server ldap, un Master e 18 slave.

In questi ultimi giorni riscontriamo problemi, il server Master va giù
continuamente.

DI seguito il log nella parte che ritengo saliente:

connection_get(184)
connection_get(184): got connid=18220
connection_read(184): checking for input on id=18220
TLS trace: SSL_accept:error in before/accept initialization
TLS: can't accept.
TLS: error:07064041:memory buffer routines:BUF_MEM_grow:malloc failure
buffer.c:115
connection_read(184): TLS accept failure error=-1 id=18220, closing
connection_closing: readying conn=18220 sd=184 for close
connection_close: conn=18220 sd=184
daemon: removing 184
conn=18220 fd=184 closed (TLS negotiation failure)
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 2 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 4 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 6 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 8 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 10 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 12 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 14 err (12): Not enough space
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: select: listen=7 active_threads=1 tvp=zero
daemon: select: listen=8 active_threads=1 tvp=zero
daemon: select: listen=9 active_threads=1 tvp=zero
daemon: select: listen=10 active_threads=1 tvp=zero
daemon: selectfailed count 16 err (12): Not enough space
daemon: abnormal condition, shutdown initiated.

Come si vede nell'ultima riga ad un certo punto viene comandato lo shutdown.

Potete aiutarmi, mi sembra che il tutto parta da un'autenticazione TLS.

A quanto pare fallisce una malloc di libcrypto (parte di OpenSSL) per carenza di memoria. Dovresti verificare se in effetti il sistema su cui si verifica il problema e' a corto di memoria. In questo caso, potrebbe trattarsi di una memory leak in OpenLDAP (o in OpenSSL), oppure di una errata configurazione che consente a slapd di usare piu' memoria rispetto a quanta disponibile. Per capirlo occorre verificare:
- quanta RAM hai
- come e' configurato slapd (cachesize e simili di back-bdb)
- come e' configurato Berkeley DB (DBCONFIG)

puoi fornire queste informazioni?

Ciao, p.


Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Fax:     +39 0382 476497
Email:   a...@sys-net.it
-----------------------------------

_______________________________________________
OpenLDAP mailing list
OpenLDAP@mail.sys-net.it
https://www.sys-net.it/mailman/listinfo/openldap


Rispondere a