Tâche #10085
Distribution EOLE - Scénario #9969: Assistance aux utilisateurs (50-51)
Etude des problèmes rencontrés sur le Zéphir de l'académie de Nantes
Description
j'ai été contacté par Guillaume Pitard et Christophe Deze pour des problèmes de plantage réguliers du backend Zéphir.
Il semblerait que le problème soit lié à la présence de valeurs nulles dans certains configurations de serveur 2.4.
cela provoque à priori des erreurs au niveau de la lib lxml (il semble qu'il manquait un 'obligatoire' sur une la variable
Christophe a aussi repéré la valeur suivante dans une configuration de migration d'un serveur 2.2: "nom_host_dns": {"owner": "zephir", "val": [null]}
Dec 15 08:14:24 zephir zephir_backend: [-] File "/usr/lib/pymodules/python2.6/creole3/lxml_parser.py", line 21, in parse_xml_file Dec 15 08:14:24 zephir zephir_backend: [-] document = etree.iterparse(filename, events=('end',), tag='creole') Dec 15 08:14:24 zephir zephir_backend: [-] File "iterparse.pxi", line 420, in lxml.etree.iterparse.__init__ (src/lxml/lxml.etree.c:85799) Dec 15 08:14:24 zephir zephir_backend: [-] File "parser.pxi", line 746, in lxml.etree._BaseParser._getPushParserContext (src/lxml/lxml.etree.c:65817) Dec 15 08:14:24 zephir zephir_backend: [-] File "iterparse.pxi", line 449, in lxml.etree.iterparse._createContext (src/lxml/lxml.etree.c:86004) Dec 15 08:14:24 zephir zephir_backend: [-] File "iterparse.pxi", line 123, in lxml.etree._IterparseContext._setEventFilter (src/lxml/lxml.etree.c:83205) Dec 15 08:14:24 zephir zephir_backend: [-] File "iterparse.pxi", line 30, in lxml.etree._buildIterparseEventFilter (src/lxml/lxml.etree.c:82537) Dec 15 08:14:24 zephir zephir_backend: [-] ValueError: invalid event name '(((((((((((((<NULL>,),),),),),),),),),),),),)'
Différentes pistes ont été suivies (désactivation des threads/ du cache / des fonctions de listing des serveurs en migration) ...
Il faudra vérifier dans la durée si la suppression des valeurs nulles est vraiment la solution au problème.
J'ai aussi repéré un problème récurrent sur la gestion du logger dans les objets creole 2.3 (Edict); mais celui-ci est à priori plus ancien et ne doit pas être la cause des plantages :
[-] #011Traceback (most recent call last): [-] #011 File "/usr/lib/python2.6/threading.py", line 504, in __bootstrap [-] #011 self.__bootstrap_inner() [-] #011 File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner [-] #011 self.run() [-] #011 File "/usr/lib/python2.6/threading.py", line 484, in run [-] #011 self.__target(*self.__args, **self.__kwargs) [-] #011--- <exception caught here> --- [-] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/threadpool.py", line 210, in _worker [-] #011 result = context.call(ctx, function, *args, **kwargs) [-] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext [-] #011 return self.currentContext().callWithContext(ctx, func, *args, **kw) [-] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext [-] #011 return func(*args,**kw) [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/uucp_rpc.py", line 1250, in _maj_site [-] #011 serv.check_maj_status(self.parent.maj_checker) [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 987, in check_maj_status [-] #011 dico = self.parsedico() [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 473, in parsedico [-] #011 dico = self.get_config(mode, encode) [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 371, in get_config [-] #011 dico = self.check_dict(mode, encode) [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 431, in check_dict [-] #011 dico = ZephirDict(dicos, self.confdir, mode, self.version, force_instanciate) [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/utils/creolewrap.py", line 95, in __init__ [-] #011 self.dico = EDict(logfile='/dev/null') [-] #011 File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 75, in __init__ [-] #011 self.log.set_logfile(logfile) [-] #011 File "/usr/lib/pymodules/python2.6/creole/log.py", line 20, in set_logfile [-] #011 self.remove_handler() [-] #011 File "/usr/lib/pymodules/python2.6/creole/log.py", line 38, in remove_handler [-] #011 self.handler.close() [-] #011 File "/usr/lib/python2.6/logging/__init__.py", line 828, in close [-] #011 self.stream.close() [-] #011exceptions.IOError: close() called during concurrent operation on the same file object.
Historique
#1 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Temps estimé mis à 0.00 h
- Restant à faire (heures) mis à 0.0
#2 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Projet changé de Distribution EOLE à zephir-parc
#3 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Nouveau à En cours
#4 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de En cours à Résolu
Des problèmes subsistaient au niveau de la récupération de variables de certains serveurs depuis l'API de zéphir (adresse_network_eh1).
Après installation d'un Zéphir de test en version stable pour vérification et recherche d'éventuels problèmes sur le serveur Zéphir de Nantes, une réinstallation des paquets Zéphir + reconfigure semble avoir résolu le problème.
#5 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Résolu à Fermé
#6 Mis à jour par Joël Cuissinat il y a environ 9 ans
- Temps estimé changé de 0.00 h à 4.00 h