Projet

Général

Profil

Evolution #6177

Arrêt de creoled --debug avec ctrl+c

Ajouté par Joël Cuissinat il y a plus de 10 ans. Mis à jour il y a environ 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
11/02/2014
Echéance:
21/02/2014
% réalisé:

100%

Temps estimé:
0.50 h
Temps passé:
Distribution:
EOLE 2.4

Description

Si on lance creoled en mode debug, un ctrl+c ne permet plus de le stopper...

 ENGINE Start InotifyMonitor thread
^CTraceback (most recent call last):
  File "/usr/sbin/creoled", line 6, in <module>
    d.run()
  File "/usr/lib/python2.7/dist-packages/creole/server.py", line 439, in run
    engine.start()
  File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 235, in start
    self.publish('start')
  File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 197, in publish
    output.append(listener(*args, **kwargs))
  File "/usr/lib/python2.7/dist-packages/cherrypy/_cpserver.py", line 151, in start
    ServerAdapter.start(self)
  File "/usr/lib/python2.7/dist-packages/cherrypy/process/servers.py", line 167, in start
    wait_for_free_port(*self.bind_addr)
  File "/usr/lib/python2.7/dist-packages/cherrypy/process/servers.py", line 406, in wait_for_free_port
    time.sleep(timeout)
KeyboardInterrupt

Demandes liées

Lié à creole - Tâche #6669: Plusieurs ctrl-c peuvent être nécessaire pour stopper reconfigure Ne sera pas résolu 28/10/2014 07/11/2014

Révisions associées

Révision d229f264 (diff)
Ajouté par Daniel Dehennin il y a environ 10 ans

Un « SIGINT » mal placé n’arrête pas « creoled »

Le problème la prise en charge des signaux lors du démarrage du serveur
cherrypy : lorsque le moteur n’est pas démarré, les signaux sont ignorés.

  • creole/server.py (CreoleDaemon.run): Appel la méthode « _kill() » sur
    la réception d’un « SIGINT ».
    (CreoleDaemon._kill): Sort avec un code d’erreur non nul.

Fixes: #6177 @1h

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Version cible mis à Eole 2.4-beta1

#2 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Statut changé de Nouveau à En attente d'informations

C’est amusant ça fonctionne très bien sur ma machine…

D’après la log fourni, il semble que creoled n’a pas eu le temps de complètement démarrer, peut-être que cherrypy trap les Ctrl-C le temps de finir son démarrage:

root@eolebase:~# creoled --debug
creoled - Loading tiramisu configuration
^CTraceback (most recent call last):
  File "/usr/sbin/creoled", line 6, in <module>
    d.run()
  File "/usr/lib/python2.7/dist-packages/creole/server.py", line 405, in run
    server = CreoleServer()
  File "/usr/lib/python2.7/dist-packages/creole/server.py", line 142, in __init__
    self.reload_config()
  File "/usr/lib/python2.7/dist-packages/creole/server.py", line 149, in reload_config
    disable_mandatory=True)
  File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 206, in creole_loader
    config = loader.get_config()
  File "/usr/lib/python2.7/dist-packages/creole/var_loader.py", line 1216, in get_config
    self._config = Config(descr)
  File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 552, in __init__
    self._impl_build_all_paths()
  File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 475, in _impl_build_all_paths
    self.cfgimpl_get_description().impl_build_cache()
  File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1224, in impl_build_cache
    force_no_consistencies)
  File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1224, in impl_build_cache
    force_no_consistencies)
  File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1224, in impl_build_cache
    force_no_consistencies)
  File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1211, in impl_build_cache
    option._consistencies is not None:
KeyboardInterrupt
root@eolebase:~# 

#3 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Version cible changé de Eole 2.4-beta1 à Eole 2.4-beta2

#4 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Priorité changé de Normal à Bas
  • Version cible changé de Eole 2.4-beta2 à Eole 2.4-beta3

#5 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Version cible changé de Eole 2.4-beta3 à Eole 2.4-RC2

#6 Mis à jour par Daniel Dehennin il y a environ 10 ans

  • Echéance mis à 21/02/2014
  • Statut changé de En attente d'informations à Accepté
  • Priorité changé de Bas à Normal
  • Début mis à 11/02/2014

#7 Mis à jour par Daniel Dehennin il y a environ 10 ans

Pour la gestion par le script d’init: un kill -9 est fait après 10 secondes d’attente (source:init/creoled?rev=27505c3#L40)

#8 Mis à jour par Daniel Dehennin il y a environ 10 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#9 Mis à jour par Joël Cuissinat il y a environ 10 ans

  • Statut changé de Résolu à Fermé

En réalité, il reste encore un moment précis où l'on peut planter creoled (et en plus il continue de répondre !) mais je ne vais pas m'acharner !

root@scribe:~# creoled --debug
creoled - Loading tiramisu configuration
 ENGINE Listening for SIGHUP.
 ENGINE Listening for SIGTERM.
 ENGINE Listening for SIGUSR1.
 ENGINE Listening for SIGINT.
 ENGINE Bus STARTING
 ENGINE Started monitor thread '_TimeoutMonitor'.
 ENGINE PID 25932 written to '/tmp/creoled.pid'.
 ENGINE Started monitor thread 'Autoreloader'.
 ENGINE Start InotifyMonitor thread
^C ENGINE Caught signal SIGINT.
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
127.0.0.1 - - [21/Feb/2014:17:39:38] "GET /get/creole?variable=nom_machine HTTP/1.1" 200 35 "" "restkit/3.3.2" 

Formats disponibles : Atom PDF