Anomalie #7588
erreur de connexion
Description
Aujourd'hui, jour de la rentrée, le eole-sso est tombé.
Voici ce qu'on trouve dans les logs :
eolesso.info.log :
Mar 10 09:46:53 portail-pia eolesso: [twisted.protocols.policies.WrappingFactory] Could not accept new connection (EMFILE)
Mar 10 09:46:53 portail-pia eolesso: [twisted.protocols.policies.WrappingFactory] Erreur au chargement de la clé /etc/ssl/certs/pia-0210066H.key : Too many open files
eolesso.alert.log :
Mar 10 09:43:22 portail-pia eolesso: [-] "Couldn't bind: 24: Trop de fichiers ouverts."
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] Unhandled Error
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011Traceback (most recent call last):
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/log.py", line 84, in callWithLogger
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 return callWithContext({"system": lp}, func, args, **kw)
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/log.py", line 69, in callWithContext
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 return context.call({ILogContext: newCtx}, func, *args, **kw)
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 return self.currentContext().callWithContext(ctx, func, *args, **kw)
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 return func(*args,*kw)
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011--- <exception caught here> ---
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/python2.6/dist-packages/twisted/internet/selectreactor.py", line 146, in _doReadOrWrit
e
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 why = getattr(selectable, method)()
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/python2.6/dist-packages/twisted/internet/tcp.py", line 460, in doRead
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 return self.protocol.dataReceived(data)
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 File "/usr/lib/pymodules/python2.6/M2Crypto/SSL/TwistedProtocolWrapper.py", line 312, in dataReceived
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011 raise e
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3820,194.167.18.159] #011M2Crypto.BIO.BIOError: (0, 'no shared cipher')
Mar 10 09:43:23 portail-pia eolesso: [TLSProtocolWrapper,3821,194.167.18.159] Unhandled Error
Un redémarrage du service a résolu le problème (pour le moment). Y a il des paramètes à modifier pour éviter ce genre d'éceuil ?
Related issues
Associated revisions
Corrections sur la gestion des appels LDAP (fermeture des connexions)
ref #7588
History
#1 Updated by Bruno Boiget over 9 years ago
- Status changed from Nouveau to Accepté
- Priority changed from Normal to Haut
- Target version set to Mises à jour 2.3.13
- Start date set to 03/10/2014
L'arrêt du service sso ne semble à première vue pas lié aux messages openssl, mais plutôt à un problème de connexions LDAP restants ouvertes
- Pb constaté également sur le serveur scribe de Montchapet (j'ai relancé le service hier, le service fini par remonter des erreurs 'too many open files').
- Sur le PIA de Dijon, un retour à la version précédente (eole-sso_2.3eole101+1) semble résoudre le problème.
Au niveau des erreurs de SSL, j'en constate 2 types sur le serveur portail-pia:
#011 why = getattr(selectable, method)() #011 File "/usr/lib/python2.6/dist-packages/twisted/internet/tcp.py", line 460, in doRead #011 return self.protocol.dataReceived(data) #011 File "/usr/lib/pymodules/python2.6/M2Crypto/SSL/TwistedProtocolWrapper.py", line 312, in dataReceived #011 raise e #011M2Crypto.BIO.BIOError: (0, 'invalid argument')
#011 why = getattr(selectable, method)() #011 File "/usr/lib/python2.6/dist-packages/twisted/internet/tcp.py", line 460, in doRead #011 return self.protocol.dataReceived(data) #011 File "/usr/lib/pymodules/python2.6/M2Crypto/SSL/TwistedProtocolWrapper.py", line 312, in dataReceived #011 raise e #011M2Crypto.BIO.BIOError: (0, 'no shared cipher')
Il est probable que ces erreurs proviennent de la correction récente sur gnutls qui ne remontait pas certaines erreurs dans les versions précédentes.
cf : https://launchpadlibrarian.net/168249819/gnutls26_2.8.5-2ubuntu0.4_2.8.5-2ubuntu0.5.diff.gz
#2 Updated by Bruno Boiget over 9 years ago
Des modifications ont été apportées au niveau de la librairie eoleldaptor sur la fermeture des connexions.
Elles sont en place sur le serveur PIA (scribe) de Dijon et le problème ne s'est pas reproduit pour l'instant.
Je les mettrais également en place sur le serveur de montchapet ou le nombre de connexions ouvertes par le serveur SSO semble grimper continuellement:
cat /proc/15189/net/sockstat sockets: used 1320 TCP: inuse 1084 orphan 1 tw 1437 alloc 1110 mem 40 UDP: inuse 12 mem 8 UDPLITE: inuse 0 RAW: inuse 0 FRAG: inuse 0 memory 0
Le service a été relancé il y a 7 heures (sauvegarde bacula). La seule façon de faire redescendre le nombre de connexion est de redémarrer le service eole-sso (ou slapd)
sur le serveur portail-pia avec les modifications:
cat /proc/1614/net/sockstat sockets: used 173 TCP: inuse 124 orphan 25 tw 1463 alloc 143 mem 32 UDP: inuse 9 mem 5 UDPLITE: inuse 0 RAW: inuse 0 FRAG: inuse 0 memory 0
le nombre de connexion oscille entre 150 et 250 sockets utilisés (le service tourne depuis plus de 24 heures).
#3 Updated by Bruno Boiget over 9 years ago
- Status changed from Accepté to Fermé
- Assigned To set to Bruno Boiget
- % Done changed from 0 to 100
les corrections apportées semblent résoudre le problème.
paquet updates publié et testé sur le pia de dijon et de la réunion.