IRC logs of #tryton-fr for Friday, 2012-03-02

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/!