28/07/2007 @ 01:45:54: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
Non la c'est pas gentil Lighttpd, vraiment
Je m'explique...
J'ai mon process à moi, indépendant, qui gère le protocole FastCGI.
J'ai ma config:
fastcgi.server = (".ks" =>
(
(
"host" => "127.0.0.1",
"port" => 2000
)
)
)
Il a à priori pas besoin de plus et en effet, il se connecte, récupère et affiche la page sans soucis, sauf que juste après avoir envoyé la page, ce con suspend mon processus et je dois manuellement faire un fg %1 pour le relancer.
Bref, pas du tout pratique pour un serveur web si je dois manuellement lancer le truc page par page
Any idea?
phil?
28/07/2007 @ 02:16:15: philfr: Lighttpd met mon process FastCGI en suspend... :kiki:
C'est quel process qui est suspendu ? Ton fastcgi ? Tu l'as démarré en background ? Et il utilise stdin/stdout/stderr ?
Si tu le laisses en foreground que fait-il ?
28/07/2007 @ 02:19:19: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
C'est mon process fastcgi que j'ai démarré manuellement, en foreground!, que Lighttpd suspend.
Je recois un
[1]+ Stopped ./kelare
Et si je refais un fg %1 ca repart pour un tour et il me refait la même chose... J'ai tenté de bloquer une dizaine de SIG déjà sans trouver le bon
28/07/2007 @ 10:32:41: rfr: Lighttpd met mon process FastCGI en suspend... :kiki:
faut pas bloquer les signaux, faut les intercepter ...
28/07/2007 @ 10:47:12: philfr: Lighttpd met mon process FastCGI en suspend... :kiki:
SIGSTOP ne peut être ni bloqué, ni traité.
Faudrait trouver pourquoi lighttpd envoie ce signal au process fastcgi, ce qui semble être le cas...
Je cherche sur google...
28/07/2007 @ 12:02:42: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
Non, il est écrit en Pascal (Kylix) et je sais intercepter une bonne partie des signaux, mais en effet si c'est un SIGSTOP que ce connard envoie j'ai aucune chance de le bloquer
Fait chier, maintenant que j'ai plus de SegFault ce serait bien qu'on me tue pas unilatéralement mon process
28/07/2007 @ 12:04:04: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
28/07/2007 @ 12:07:35: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
Ah... J'ai lancé strace et je vois un:
ERESTART_RESTARTBLOCK (To be restarted)
Bon vais chez brico, je note ça pour plus tard, ça doit bien avoir une raison ce truc
28/07/2007 @ 12:11:09: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
Ce serait lié à une boucle avec un... Sleep(1) et un nanosleep qui fail
Ptain c'est quoi ce bordel
Bon tant pis, Brico, j'espère que ca tournera pas trop tard ce truc, c'était pas un bug prévu au planning
28/07/2007 @ 14:04:25: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
Bon non c'est pas le nanosleep, dommage... En virant le sleep et en relancant avec un strace il ne me dit rien du tout mais le process est quand même down
Non di djou
28/07/2007 @ 14:16:48: ovh: Lighttpd met mon process FastCGI en suspend... :kiki:
Courage tu vas trouver
Tu vas le mater ce fastcgi
28/07/2007 @ 15:36:13: philfr: Lighttpd met mon process FastCGI en suspend... :kiki:
Quels libs utilises-tu dans ton prog fastcgi ? Une lib fastcgi ? Un accès DB ?
C'est peut-être une autre cause que lighttpd lui-même...
28/07/2007 @ 16:04:18: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
Quels libs utilises-tu dans ton prog fastcgi ? Une lib fastcgi ? Un accès DB ?
C'est peut-être une autre cause que lighttpd lui-même...
Tout est codé à la main, pas question d'utiliser une lib fastcgi non
Mais pourquoi ce serait à la fin de la requête fastcgi exactement que le process est foutu en suspend et que si je le relance manuellement il recommence parfaitement pour la prochaine requête, etc, etc?
Y a vraiment aucune raison
28/07/2007 @ 17:36:51: rfr: Lighttpd met mon process FastCGI en suspend... :kiki:
ben file ton code
28/07/2007 @ 17:39:43: Altar: Lighttpd met mon process FastCGI en suspend... :kiki:
Farpaitement
28/07/2007 @ 18:05:10: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
T'as un environnement kylix qui tourne sur ta machine?
28/07/2007 @ 18:09:36: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
On va recommencer avec des questions simples, la solution en sortira j'en suis sûr
Déjà, pourquoi un process passe en "Stopped"?
28/07/2007 @ 18:23:26: philfr: Lighttpd met mon process FastCGI en suspend... :kiki:
Parce qu'il reçoit le signal SIGSTOP
Edith: ou le signal SIGTSTP, avec un CTRL-Z dans une console...
28/07/2007 @ 18:28:38: philfr: Lighttpd met mon process FastCGI en suspend... :kiki:
Tout est codé à la main, pas question d'utiliser une lib fastcgi non
Mais pourquoi ce serait à la fin de la requête fastcgi exactement que le process est foutu
Que fait ton process à la fin de la requête ?
Le lien lighttpd-fastcgi est via un socket TCP ? Un socket Unix ? Un pipe ?
Si tu le fais via un socket TCP, tu peux mettre
ethereal wireshark pour sniffer ce qui passe ?