Project

General

Profile

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

Added by Bruno Boiget over 6 years ago. Updated over 6 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
10/03/2014
Due date:
% Done:

0%

Estimated time:
4.00 h
Spent time:
Remaining (hours):
0.0

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.

History

#1 Updated by Bruno Boiget over 6 years ago

  • Estimated time set to 0.00 h
  • Remaining (hours) set to 0.0

#2 Updated by Bruno Boiget over 6 years ago

  • Project changed from Distribution EOLE to zephir-parc

#3 Updated by Bruno Boiget over 6 years ago

  • Status changed from Nouveau to En cours

#4 Updated by Bruno Boiget over 6 years ago

  • Status changed from En cours to 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 Updated by Bruno Boiget over 6 years ago

  • Status changed from Résolu to Fermé

#6 Updated by Joël Cuissinat over 6 years ago

  • Estimated time changed from 0.00 h to 4.00 h

Also available in: Atom PDF