Lighttpd/FCGI : probleme de restart

Bonjour,

j’ai un problème pénible de “non relance” de process FastCGI.
Je vais essayer d’exposer mon problème le plus clairement possible, mais
bon
c’est bien fouilli tout de meme.

Plateforme : une debian (pas sûr que ca ait un interet), en fait un VPS
serveur : lighttpd

J’ai plusieurs applis présentes dans : */monrep_rails/

*toutes ces applis sont “capistrano-isées”. J’ai un petit script qui au
lancement de lighttpd (en cas de reboot par exemple) va récupérer les
pids
de chacun de process liés à une appli dans le repertoire /tmp/pids
adéquat.

exemple :
$ps ax | grep ruby
*25355 ? Sl 0:08 ruby **
/monrep_rails/appli1/current/public/dispatch.fcgi
*25357 ? Sl 1:13 ruby **
/monrep_rails/appli1/current/public/dispatch.fcgi

25358 ? S 0:02 ruby
/monrep_rails/appli2/current/public/dispatch.fcgi
25359 ? S 0:02 ruby
/monrep_rails/appli2/current/public/dispatch.fcgi
25361 ? S 0:02 ruby
/monrep_rails/appli2/current/public/dispatch.fcgi
25362 ? S 0:01 ruby
/monrep_rails/appli3/current/public/dispatch.fcgi
25363 ? S 0:01 ruby
/monrep_rails/appli4/current/public/dispatch.fcgi
25364 ? S 0:01 ruby
/monrep_rails/appli4/current/public/dispatch.fcgi

avec ca mon script va ecrire dans

/monrep_rails/appli1/current/tmp/pids les fichiers dispatch.8000.pid
et
dispatch.8001.pid qui contiendront respectivement 25355 et *25357

*Tout ça pour dire que je suis sur de la bonne valeur de mes pids dans
mon
répertoire pids.

Si je balance une commande “sudo script/process/reaper” sur mes applis,
toutes redémarrent correctement.
Toutes, sauf une. Et là impossible de déceler pour quoi, et je ne sais
pas
sur quelle piste partir.

Les applis ont toutes les memes droits. Les dispatch.fcgi et .htaccess
sont
identiques aussi. Les configs pour lighttpd également.

Les rares différences : la seule appli qui foire est en Rails2. C’est
celle
que j’ai appellée appli1 plus haut. On voit aussi que les process sont
en Sl
(et pas S comme les autres). Ca veut dire que c’est multithreadé.
Importance
? aucune idée…

Le comportement du reaper pour cette appli est encore plus chaotique que
ça.
“Des fois” , quand je lance le reaper, j’ai l’impression que seul UN
process
sur les deux est redémarré. Comment je le sais ? seul indice : si je
fais
simple refresh sur la page, j’ai toujours l’ancienne version du code, si
je
bourrine et balance deux refresh très rapidement, je tombe sur la
nouvelle.
Et la manip est reproductible ad vitam dans ce cas précis.

En testant les kill -s HUP ou USR2 Ã la main sur les process, ca ne
marche
pas non plus. Aucun message d’erreur, mais juste les process ne “semble
pas”
redémarrés. (a vrai dire je n’ai aucun indicateur fiable a part la
modification de code et l’affichage).

Alors je ne sais ABSOLUMENT pas par où commencer à regarder pour pister
le
probleme. Et je n’ai pas envie de devoir relancer lighttpd a chaque
fois,
c’est vraiment totalement bourrin.

Donc si vous aviez au minimum des pistes sur ce que je pourrais faire
et/ou
regarder, je serais intéressé.

Merci
–mathieu