chat.freenode.net #tryton-fr log beginning Fri Mar 2 00:00:01 CET 2012 | ||
2012-03-02 16:04 <ajacoutot_> bonjour :) | ||
2012-03-02 16:05 <ajacoutot_> J'ai une petite question concernant le shutdown de trytond -- pour une raison que j'ignore, il met environ 1 minute a s'arreter apres avoir reçu un pkill | ||
2012-03-02 16:06 <ajacoutot_> j'ai un traceback dans les logs, si ca peut interesser -- je n'arrive pas a voir si le souci se situe au niveau de trytond ou python | ||
2012-03-02 16:07 <ajacoutot_> 'pkill -f trytond' me donne ca dans les logs | ||
2012-03-02 16:07 <ajacoutot_> Exception in thread JSONRPCDaemon: | ||
2012-03-02 16:07 <ajacoutot_> Traceback (most recent call last): | ||
2012-03-02 16:07 <ajacoutot_> File "/usr/local/lib/python2.7/threading.py", line 552, in __bootstrap_inner | ||
2012-03-02 16:07 <ajacoutot_> self.run() | ||
2012-03-02 16:07 <ajacoutot_> File "/usr/local/lib/python2.7/site-packages/trytond/protocols/common.py", line 39, in run | ||
2012-03-02 16:07 <ajacoutot_> self.server.serve_forever() | ||
2012-03-02 16:07 <ajacoutot_> File "/usr/local/lib/python2.7/SocketServer.py", line 225, in serve_forever | ||
2012-03-02 16:08 <ajacoutot_> r, w, e = select.select([self], [], [], poll_interval) | ||
2012-03-02 16:08 <ajacoutot_> error: (4, 'Interrupted system call') | ||
2012-03-02 16:08 <ajacoutot_> puis ca bloque pdt environ 60 secs puis fini par d'arreter | ||
2012-03-02 16:08 <bchenal> ajacoutot_: je pense que c'est le temps que les connections reseaux se terminent | ||
2012-03-02 16:09 <ajacoutot_> oui mais le truc c'est que rien n'est connecté | ||
2012-03-02 16:10 <ajacoutot_> trytond && sleep 1 && pkill -f trytond | ||
2012-03-02 16:10 <ajacoutot_> aucun client n'est connecté | ||
2012-03-02 16:10 <bchenal> ajacoutot_: bizarre | ||
2012-03-02 16:10 <ajacoutot_> en effet :) | ||
2012-03-02 16:11 <ajacoutot_> oula | ||
2012-03-02 16:11 <ajacoutot_> j'ai oublie de preciser que je tourne sous openbsd, pas linux | ||
2012-03-02 16:12 <bchenal> ajacoutot_: cedk utilise aussi openbsd, je pense pas qu'il aie le problème | ||
2012-03-02 16:12 <ajacoutot_> vraiment ? cedk quand tu es dans le coin, peux-tu me pinguer :) | ||
2012-03-02 16:13 <cedk> ajacoutot_: oui | ||
2012-03-02 16:13 <ajacoutot_> cedk: salut; tu utilises trytond sous openbsd parait-il ? | ||
2012-03-02 16:14 <cedk> ajacoutot_: les 60 secondes viennent du fait que trytond lance une thread par protocol et ces threads check toutes les minutes si elles ne doivent pas se terminer | ||
2012-03-02 16:14 <cedk> ajacoutot_: oui sur mon portable j'ai OpenBSD | ||
2012-03-02 16:14 <ajacoutot_> oh | ||
2012-03-02 16:15 <ajacoutot_> il y a une raison pour que ce check soit fait si 'rarement' ? | ||
2012-03-02 16:17 <bchenal> cedk: pq qd moi je teste c'est quasi instantané ? | ||
2012-03-02 16:17 <ajacoutot_> trytond/server.py time.sleep(60), ok je vois | ||
2012-03-02 16:18 <cedk> ajacoutot_: le but est aussi de ne pas reveiller le process trop souvent pour rien faire | ||
2012-03-02 16:19 <ajacoutot_> ok | ||
2012-03-02 16:19 <cedk> ajacoutot_: ha oui, en fait on est passé maintenant au lib standard de python pour les protocols mais le cron est toujours à 60sec | ||
2012-03-02 16:21 <cedk> dans SocketServer.py, le poll est toutes les 0.5 sec | ||
2012-03-02 16:21 <ajacoutot_> oui j'ai vu ca | ||
2012-03-02 16:21 <cedk> bchenal: je suppose que c'est la manière de gérer les signaux qui sont différent | ||
2012-03-02 16:22 <cedk> bchenal: surement que sous linux le signal est processé même quand le process est en sleep | ||
2012-03-02 16:22 <cedk> ajacoutot_: tu sais si sous OpenBSD les signaux arrêtent les sleep ? | ||
2012-03-02 16:24 <cedk> ajacoutot_: en fait, ici le SIGTERM est envoyé à la thread et pas au process principal | ||
2012-03-02 16:25 <cedk> et j'ai une erreur: error: (4, 'Interrupted system call') dans SocketServer.py", line 225 | ||
2012-03-02 16:25 <ajacoutot_> cedk: oui c'est ce que j'ai pasté plus haut | ||
2012-03-02 16:26 <ajacoutot_> cedk: je sais plus trop pour la gestion des signaux d'un process dormant, faut que je me renseigne | ||
2012-03-02 16:27 <cedk> ajacoutot_: normallement on les catch sur http://hg.tryton.org/trytond/file/7a75670c2a1b/trytond/server.py#l187 | ||
2012-03-02 16:31 <ajacoutot_> hmm, y'a un comportement different qq part | ||
2012-03-02 16:33 <bchenal> j'ai trouvé ça http://bugs.python.org/issue8714 | ||
2012-03-02 16:35 <ajacoutot_> ca semble decrire parfaitement la situation | ||
2012-03-02 16:40 <ajacoutot_> grrrr putain the threads :-/ | ||
2012-03-02 16:43 <cedk> ajacoutot_: tiens il y avait pas un projet d'avoir les thread dans le kernel d'OpenBSD ? | ||
2012-03-02 16:44 <ajacoutot_> c'est fait :) | ||
2012-03-02 16:44 <ajacoutot_> mais le probleme est le meme que ce soit avec les userland threads ou celles du noyau | ||
2012-03-02 16:48 <cedk> ajacoutot_: je sais pas, mais dans l'issue quelqu'un a l'air de dire que c'est pire avec pthread :-) | ||
2012-03-02 16:49 <ajacoutot_> cedk: le probleme generic est probablement plus evident a reproduire avec pthread; mais en ce qui concerne trytond, le probleme est le meme pthread ou rthread | ||
2012-03-02 16:52 <cedk> ajacoutot_: en fait, je suis pas sur de comprend le problème rapporté sur le bug | ||
2012-03-02 16:53 <ajacoutot_> cedk: je pense que ce bug en question est spécifique a pthread |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!