Project

General

Profile

Tâche #11468

Scénario #11288: Résoudre les problèmes d'instabilité constatés sur Zéphir 2.3.16

corriger les problèmes d'accès concurrents apparaissant dans les logs du backend (objets creole 2.3)

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

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
04/30/2015
Due date:
% Done:

100%

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

Description

des messages de ce type peuvent apparaître dans les logs (création en parallèle de 2 objets EoleDict ?) :

Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011Traceback (most recent call last):
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/threading.py", line 504, in __bootstrap
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.__bootstrap_inner()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.run()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/threading.py", line 484, in run
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.__target(*self.__args, **self.__kwargs)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011--- <exception caught here> ---
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/threadpool.py", line 210, in _worker
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    result = context.call(ctx, function, *args, **kwargs)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    return self.currentContext().callWithContext(ctx, func, *args, **kw)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    return func(*args,**kw)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/uucp_rpc.py", line 1250, in _maj_site
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    serv.check_maj_status(self.parent.maj_checker)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 1096, in check_maj_status
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = self.parsedico()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 578, in parsedico
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = self.get_config(mode, encode)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 476, in get_config
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = self.check_dict(mode, encode)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 536, in check_dict
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    dico = ZephirDict(dicos, self.confdir, mode, self.version, force_instanciate, eole_version=self.module_version)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/dist-packages/zephir/utils/creolewrap.py", line 139, in __init__
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.dico = EDict(logfile='/dev/null')
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 75, in __init__
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.log.set_logfile(logfile)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/pymodules/python2.6/creole/log.py", line 20, in set_logfile
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.remove_handler()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/pymodules/python2.6/creole/log.py", line 38, in remove_handler
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.handler.close()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011  File "/usr/lib/python2.6/logging/__init__.py", line 828, in close
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011    self.stream.close()
Apr  6 06:26:30 pne-eole-01 zephir_backend: [-] #011exceptions.IOError: close() called during concurrent operation on the same file object.
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5] Traceback (most recent call last):
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5]   File "/usr/lib/python2.6/logging/__init__.py", line 789, in emit
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5]     stream.write(fs % msg)
Apr  6 06:26:30 pne-eole-01 zephir_backend: [HTTPChannel,304,10.33.0.5] ValueError: I/O operation on closed file

Le problème semble se situer sur la mise en place du fichier de log des objets creole (2.0 -> 2.3). Sur Zéphir, ces logs sont redirigés sur /dev/null.

Associated revisions

Revision f3e2985f (diff)
Added by Bruno Boiget over 6 years ago

Création des objets creole 2.3 en mode 'NOLOG'

ref #11468 @30m

Revision 9fc0b48b (diff)
Added by Bruno Boiget over 6 years ago

Ajout d'une dépendance sur la version de creole 2.3 gérant l'option 'NOLOG'

ref #11468 @5m

History

#1 Updated by Bruno Boiget over 6 years ago

  • Status changed from Nouveau to En cours

#2 Updated by Scrum Master over 6 years ago

  • Status changed from En cours to Résolu

#3 Updated by Bruno Boiget over 6 years ago

  • % Done changed from 0 to 100

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

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 1.0 to 0.0

Also available in: Atom PDF