[spip-dev] Encore : spip pêteen timeout

Après upgrade du CVS, SPIP est encore pêté en timeout.

J'ai isolé le problème, dans inc-public-global.php3 :

exit;
        include_ecrire("inc_texte.php3");
        include_ecrire("inc_filtres.php3");
        include_ecrire("inc_sites.php3");
        include_ecrire("inc_index.php3");

        executer_une_syndication();
        executer_une_indexation_syndic();

Ca passe.

        include_ecrire("inc_texte.php3");
        include_ecrire("inc_filtres.php3");
        include_ecrire("inc_sites.php3");
        include_ecrire("inc_index.php3");

        executer_une_syndication();
        executer_une_indexation_syndic();
Ca ne passe pas.

J'ai mis un exit au début de inc_texte.php3, ça a suffit à résoudre le
problème...

Hum, strange, no ?

Il n'y aurait pas un truc qui se faitmal au moment de l'upgrade, des
fois, et qu'il n'y ait pas moyen de revenir dessus ? Du genre un lock
posé dans l'un des 4 fichiers inclus, et tant que le lock est posé, ça
coince ?

Après upgrade du CVS, SPIP est encore pêté en timeout.

J'ai isolé le problème, dans inc-public-global.php3 :

exit;
       include_ecrire("inc_texte.php3");
       include_ecrire("inc_filtres.php3");
       include_ecrire("inc_sites.php3");
       include_ecrire("inc_index.php3");

       executer_une_syndication();
       executer_une_indexation_syndic();

Et avec un exit entre les deux appels de fonction, ça donne quoi ?
(tant qu'à isoler, autant isoler à fond... ;-))

Je l'ai. C'est dans executer_une_syndication (comme la fois dernière).

Coup de chance, je peux encore rerpoduire le problème (pour combien de
temps ?)

function executer_une_syndication() {
        $query_syndic = "SELECT * FROM spip_syndic WHERE
syndication='sus' AND s
tatut='publie' ".
                        "AND date_syndic < DATE_SUB(NOW(), INTERVAL 24
HOUR) ORD
ER BY date_syndic LIMIT 0,1";
print $row["id_syndic"]; print "1\n";
        if ($result_syndic = spip_query($query_syndic)) {
print $row["id_syndic"]; print "2\n";
exit;
                while ($row = spip_fetch_array($result_syndic)) {
print $row["id_syndic"]; print "3\n";
                        $id_syndic = $row["id_syndic"];
                        syndic_a_jour($id_syndic);
                }
        }

En bas de page, j'ai :
1
2

Autrement dit, le while tourne en boucle.

Impossible pour moi de savoir à quel endroit précisément, j'ai soit
une page, soit rien du tout :wink:

Je viens de mettre un exit dans syndic_a_jour. Au mois comme ça je
pourrais continuer à expérimenter...