Sujet: Lighttpd met mon process FastCGI en suspend... :kiki:
28/07/2007 @ 01:45:54: zion: Lighttpd met mon process FastCGI en suspend... :kiki:

Non la c'est pas gentil Lighttpd, vraiment :petrus:

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 :ddr555:

Any idea?
phil? :oh:
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 :ddr555:
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 @ 10:55:55: philfr: Lighttpd met mon process FastCGI en suspend... :kiki:
... je trouve des bug reports php (http://www.google.be/search?hl=en&q=sigstop++fastcgi&btnG=Search&meta=), mais le site bugs.php.net ne répond pas chez moi pour l'instant...

Il est écrit en PHP to process fastcgi ?
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 :sweat:

Fait chier, maintenant que j'ai plus de SegFault ce serait bien qu'on me tue pas unilatéralement mon process :mmmfff:
28/07/2007 @ 12:04:04: zion: Lighttpd met mon process FastCGI en suspend... :kiki:
http://groups.google.be/group/mailing.www.php-dev/browse_thread/thread/aab7bdaef0d3fac0/4d220c53540963ef?lnk=st&q=sigstop++li- ghttpd&rnum=1&hl=en#4d220c53540963ef

C'est strace qui me permet de savoir quel message j'ai reçu? J'aimerais être sûr déjà que je reçois un SIGSTOP et de qui :smile:
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) :oh:

Bon vais chez brico, je note ça pour plus tard, ça doit bien avoir une raison ce truc :oh:
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 :figti:

Ptain c'est quoi ce bordel :dawa:

Bon tant pis, Brico, j'espère que ca tournera pas trop tard ce truc, c'était pas un bug prévu au planning :ddr555:
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 :sweat:

Non di djou :kiki:
28/07/2007 @ 14:16:48: ovh: Lighttpd met mon process FastCGI en suspend... :kiki:
Courage tu vas trouver :calin: :zoubi:

Tu vas le mater ce fastcgi :taio:
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 :petrus:

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? :oh:

Y a vraiment aucune raison :sisicaivrai:
28/07/2007 @ 17:36:51: rfr: Lighttpd met mon process FastCGI en suspend... :kiki:
ben file ton code :ddr555:
28/07/2007 @ 17:39:43: Altar: Lighttpd met mon process FastCGI en suspend... :kiki:
Farpaitement :oh:
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? :petrus:
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 :joce:

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 :oh:

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 :petrus:

:kiki:

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 ?
Retour