J'ai eu un bug étrange sur mon site (spip 2.1) :
- je me connecte ce matin, tout l'espace privé est en page blanche, quelle que soit la page demandée
- je vide manuellement /tmp et /local parce que je me dis que ça doit venir de là
- ça corrige bien le problème, mais je retrouve tous mes plugins désactivés (o.O)
- (au passage, j'ai remarqué qu'il me faut refaire la config du couteau kiss régulièrement dès que je le désactive pour maintenance, est-ce normal ?)
Le seul événement de la nuit qui a pu avoir un impact là-dessus est un reboot de mysql, quelqu'un a une idée ?
Non, seulement si tu vide tmp/ puisqu'il stocke les réglages dans un fichier php dans tmp/.
On pourrait améliorer cela pour éviter ce désagrément, sans rien changer au principe général du plugin.
pendant les épisodes d'écran blanc, mon error log apache est spammé par ça :
[Wed May 12 14:49:38 2010] [error] [client 127.0.0.1] PHP Warning: Missing argument (X) for public_produire_page() in /home/(mon home)/public_html/plugins/auto/cache_cool/cache_cool_options.php on line 37
où (X) prend toutes les valeurs possibles (1 à 7).
Une idée ?
A bientôt
Simon
Ca spamme ça dans mon log au moment des épisodes d'écran blanc.
a écrit : Ca serait pas mieux de stocker la config dans les meta ? Parce que quand on est en phase de réglage ou de recherche de bug sur un plantage du serveur, on a souvent besoin de vider /tmp Par contre, les réglages d’activation des plugins se sont-ils pas sensés être stockés dans les meta ? Dans ce cas, comment se fait-il que, quand je vide /tmp, tous mes plugins se désactivent ? A bientôt Simon
Surtout que tmp/ par définition, n'est censé être là que pour stocker des choses... temporaires. Donc qui ont vocations à être supprimés régulièrement, ce qui ne doit pas impacter le comportement du site.
Il y a eu un gros bug sur job_queue, as tu up ?
par contre ton gros warning sur cache_cool me fait plutot penser à un problème sur la table, avec un tableau d'arguments qui ne se deserializerait pas car corrompu ou coupé (trop long).
Tu n'as pas des messages type "arguments job errones " dans queue_log ?
Cédric
Le 12 mai 2010 à 13:16, cedric.morin@yterium.com a écrit :
Il y a eu un gros bug sur job_queue, as tu up ?
par contre ton gros warning sur cache_cool me fait plutot penser à un problème sur la table, avec un tableau d'arguments qui ne se deserializerait pas car corrompu ou coupé (trop long).
Tu n'as pas des messages type "arguments job errones " dans queue_log ?
Je pense que c'est cela en effet :
en cas d'arguments séralizés trop longs (64Ko quand meme ...), on les perd au deballage et on execute la fonction sans arguments.
Il manque deux sécurités :
- une à l'insertion du job pour refuser un job qu'on ne saura pas traiter en différé
- une dans cache_cool pour executer tout de suite dans ce cas
et ensuite passer en longtext le champ args dans la table spip_jobs pour prendre en charge ces jobs là.
Cela a pu devenir plus critique depuis l'ajout dans les arguments de la fonction du contexte global, qui inclus la session visiteur, les cookies, $_GET, $_SERVER, $_REQUEST et qq broutilles de plus.
Sans doute as tu aussi qq arguments d'inclusion assez long
Cédric
Cédric
Le 12 mai 2010 à 09:57, Simon Camerlo a écrit :
Je mets aussi ce message sur spip-zone car il semblerait que cache_cool ou job_queue soient en cause :
pendant les épisodes d'écran blanc, mon error log apache est spammé par ça :
[Wed May 12 14:49:38 2010] [error] [client 127.0.0.1] PHP Warning: Missing argument (X) for public_produire_page() in /home/(mon home)/public_html/plugins/auto/cache_cool/cache_cool_options.php on line 37
où (X) prend toutes les valeurs possibles (1 à 7).
Une idée ?
A bientôt
Simon
Ca spamme ça dans mon log au moment des épisodes d'écran blanc.
Simon Camerlo a écrit :
Bonjour,
J'ai eu un bug étrange sur mon site (spip 2.1) :
- je me connecte ce matin, tout l'espace privé est en page blanche, quelle que soit la page demandée
- je vide manuellement /tmp et /local parce que je me dis que ça doit venir de là
- ça corrige bien le problème, mais je retrouve tous mes plugins désactivés (o.O)
- (au passage, j'ai remarqué qu'il me faut refaire la config du couteau kiss régulièrement dès que je le désactive pour maintenance, est-ce normal ?)
Le seul événement de la nuit qui a pu avoir un impact là-dessus est un reboot de mysql, quelqu'un a une idée ?
a écrit : Encore un épisode d’écran blanc 10 minutes après avoir réactivé cache_cool, je t’ai envoyé un bout de mon queue.log en privé. La solution que j’ai trouvée : supprimer manuellement le contenu de tmp/cache Ce qui m’intrigue aussi énormément, c’est qu’une fois que j’ai fait ça (et rien d’autre), je retrouve tous mes plugins désactivés… Encore une fois : l’activation des plugins n’est-elle pas stockée dans la table spip_meta ? A bientôt Simon
a écrit : Encore un épisode d’écran blanc 10 minutes après avoir réactivé cache_cool, je t’ai envoyé un bout de mon queue.log en privé. La solution que j’ai trouvée : supprimer manuellement le contenu de tmp/cache Ce qui m’intrigue aussi énormément, c’est qu’une fois que j’ai fait ça (et rien d’autre), je retrouve tous mes plugins désactivés… Encore une fois : l’activation des plugins n’est-elle pas stockée dans la table spip_meta ? A bientôt Simon
Bonjour,
Je reprends ce fil interrompu à mi-chemin car j’ai fait quelques tests de stabilité ce week-end :
J’ai fait tourner mon serveur à plein régime sans cache_cool, ai manipulé l’espace privé, etc.
Résultat : R.A.S, il tourne comme une horloge.
Ce matin, je réactive cache_cool et j’ai aussitôt mon error log apache qui est complètement flood par
[Mon May 17 10:40:31 2010] [error] [client 127.0.0.1] PHP Warning: Parameter 7 to public_produire_page() expected to be a reference, value given in /home/(mon home)/public_html/plugins/job_queue/inc/queue.php on line 181
(à noter que, suite aux corrections faites par Cédric, je n’ai plus rien d’inhabituel dans le queue.log et que ça ne concerne cette fois-ci que le septième paramètre)
Je vais maintenant continuer mon test avec cache_cool activé, je soupçonne que le problème se produit lors de l’exécution d’un script de rotation de logs qui éteint apache et / ou mysql pour relâcher les descripteurs sur les logs le temps de les renommer.
Le script s’est exécuté au moins une fois sans problème ce week-end (sans cache_cool, donc), je vous donnerai plus d’infos après des tests de redémarrage apache / mysql avec cache_cool activé, on va voir si j’arrive à reproduire.
Ce qui m'intrigue aussi énormément, c'est qu'une fois que j'ai fait ça
(et rien d'autre), je retrouve tous mes plugins désactivés...
Là je peux confirmer ce problème : j'ai réactivé cache_cool ce weekend, et par deux fois (après quelques heures) je trouve tous les plugins du site *désactivés*. Cela se passe avant la suppression des fichiers dans /tmp (ce qui est nécessaire pour arriver dans l'espace privé -- car page blanche), car on voit sur l'espace publique que les plugins ne marchent plus.
Ce qui m'intrigue aussi énormément, c'est qu'une fois que j'ai fait ça
(et rien d'autre), je retrouve tous mes plugins désactivés...
Là je peux confirmer ce problème : j'ai réactivé cache_cool ce weekend, et par deux fois (après quelques heures) je trouve tous les plugins du site *désactivés*. Cela se passe avant la suppression des fichiers dans /tmp (ce qui est nécessaire pour arriver dans l'espace privé -- car page blanche), car on voit sur l'espace publique que les plugins ne marchent plus.
Paolo
Ah, du nouveau : on est donc au moins deux à avoir ce problème.
Je n'avais pas remarqué que les plugins sont désactivés avant, mais maintenant que tu le dis c'est vrai : j'utilise accès restreint sur mon site, et la dernière fois j'ai détecté le problème parce qu'accès restreint me bloquait le site public comme s'il était désactivé, ça concorde donc.
Tu confirmes que ça n'arrive que quand cache_cool est activé ?
Et une autre information : ton serveur sql ou apache (ou les deux) a-t-il redémarré un peu avant les pannes que tu as eues ?
Enfin, : as-tu également le warning que j'ai posté plus tôt dans ton error.log ?
Tu confirmes que ça n'arrive que quand cache_cool est activé ?
Disons que cela s'est produit deux fois pendant ce weekend après l'activation de Cache Cool ; je n'avais pas ça avant. Je ne vois pas quoi d'autre aurait pu causer cela. La seule autre opération « de fond » que j'ai fait c'est de mettre à jour JobQueue. Maintenant j'ai désactivé CacheCool à nouveau --- je verrai si cela se reproduit.
Et une autre information : ton serveur sql ou apache (ou les deux)
a-t-il redémarré un peu avant les pannes que tu as eues ?
Pas que je sache. Je vais vérifier avec mon fournisseur d'accès que je regarde les bons logs.
Enfin, : as-tu également le warning que j'ai posté plus tôt dans ton
error.log ?
Ok, un nouvel épisode de page blanche quelques heures après avoir activé cache_cool.
Je pense qu'on a là un lien de cause à effet, mais je ne sais pas ce qui coince.
J'ai traqué le déclencheur de la désactivation des plugins : c'est à l'instant même où j'ai affiché la page exec=admin_plugin
J'en suis maintenant sûr à 100% car je l'ai reproduit plusieurs fois depuis une semaine.
Tout le reste du site (privé et public) était opérationnel, c'est l'affichage de cette page après que cache_cool ait fonctionné pendant quelques temps qui a provoqué le vautrage instantané avec désactivation immédiate de tous les plugins.
Mon error_log apache indique à l'instant-même ou j'affiche la page :
PHP Fatal error: Call to undefined function lire_config() in /home/(mon home)/public_html/ecrire/public/composer.php(49) : eval()'d code on line 87
Il indique ensuite la même erreur quelle que soit la page de l'espace privé que j'essaie ensuite d'atteindre => cause de la page blanche trouvée.
Le queue.log, quant à lui, est tout ce qu'il y a de plus tranquille.
Les seuls "gros" jobs qui sont passés entre l'activation de cache_cool et le crash sont "popularites" et "maintenances".
S'il y a un coupable parmi eux, je pencherais pour le second étant donné les heures auxquels ils se sont exécutés dans ce cas précis, mais il est aussi possible que ce ne soit pas lié.
Solution pour le moment :
- vider tmp/cache à la main (puisqu'on ne peut plus accéder à admin_vider non plus, du coup)
- réactiver les plugins à la main
- ne pas activer cache_cool et attendre qu'il soit réparé
A bientôt
Simon
Paolo a écrit :
On 17/05/10 09:02, Simon Camerlo wrote:
Tu confirmes que ça n'arrive que quand cache_cool est activé ?
Disons que cela s'est produit deux fois pendant ce weekend après l'activation de Cache Cool ; je n'avais pas ça avant. Je ne vois pas quoi d'autre aurait pu causer cela. La seule autre opération « de fond » que j'ai fait c'est de mettre à jour JobQueue. Maintenant j'ai désactivé CacheCool à nouveau --- je verrai si cela se reproduit.
Et une autre information : ton serveur sql ou apache (ou les deux)
a-t-il redémarré un peu avant les pannes que tu as eues ?
Pas que je sache. Je vais vérifier avec mon fournisseur d'accès que je regarde les bons logs.
Enfin, : as-tu également le warning que j'ai posté plus tôt dans ton
error.log ?
Je dirais que le bug est sans doute dans job_queue, provoqué par
cache_cool, ce serait trop simple sinon
Je vais essayer de voir cela, et si je ne trouve pas, je vais préparer
un bout de code à inclure dans mes_options pour catcher l'erreur et le
contexte complet sur la page blanche pour y voir plus clair.
Cédric
Le 17 mai 2010 11:27, Simon Camerlo <scamerlo.work@gmail.com> a écrit :
Ok, un nouvel épisode de page blanche quelques heures après avoir activé
cache_cool.
Je pense qu'on a là un lien de cause à effet, mais je ne sais pas ce qui
coince.
J'ai traqué le déclencheur de la désactivation des plugins : c'est à
l'instant même où j'ai affiché la page exec=admin_plugin
J'en suis maintenant sûr à 100% car je l'ai reproduit plusieurs fois depuis
une semaine.
Tout le reste du site (privé et public) était opérationnel, c'est
l'affichage de cette page après que cache_cool ait fonctionné pendant
quelques temps qui a provoqué le vautrage instantané avec désactivation
immédiate de tous les plugins.
Mon error_log apache indique à l'instant-même ou j'affiche la page :
PHP Fatal error: Call to undefined function lire_config() in /home/(mon
home)/public_html/ecrire/public/composer.php(49) : eval()'d code on line 87
Il indique ensuite la même erreur quelle que soit la page de l'espace privé
que j'essaie ensuite d'atteindre => cause de la page blanche trouvée.
Le queue.log, quant à lui, est tout ce qu'il y a de plus tranquille.
Les seuls "gros" jobs qui sont passés entre l'activation de cache_cool et le
crash sont "popularites" et "maintenances".
S'il y a un coupable parmi eux, je pencherais pour le second étant donné les
heures auxquels ils se sont exécutés dans ce cas précis, mais il est aussi
possible que ce ne soit pas lié.
Solution pour le moment :
- vider tmp/cache à la main (puisqu'on ne peut plus accéder à admin_vider
non plus, du coup)
- réactiver les plugins à la main
- ne pas activer cache_cool et attendre qu'il soit réparé
A bientôt
Simon
Paolo a écrit :
On 17/05/10 09:02, Simon Camerlo wrote:
Tu confirmes que ça n'arrive que quand cache_cool est activé ?
Disons que cela s'est produit deux fois pendant ce weekend après
l'activation de Cache Cool ; je n'avais pas ça avant. Je ne vois pas quoi
d'autre aurait pu causer cela. La seule autre opération « de fond » que j'ai
fait c'est de mettre à jour JobQueue. Maintenant j'ai désactivé CacheCool à
nouveau --- je verrai si cela se reproduit.
Et une autre information : ton serveur sql ou apache (ou les deux)
a-t-il redémarré un peu avant les pannes que tu as eues ?
Pas que je sache. Je vais vérifier avec mon fournisseur d'accès que je
regarde les bons logs.
Enfin, : as-tu également le warning que j'ai posté plus tôt dans ton
error.log ?
Après reflexion et analyse, je pense que le problème se produit en effet dans cet ordre :
- un bug entraine la desactivation de tous les plugins
- les squelettes de ecrire/ plantent car appellent lire_config() qui est dans un plugin
- vider tmp/ permet de vider les caches des skel et de recuperer la main dans ecrire/
Donc le problème est vraisemblablement une ecriture erronée dans les meta, à cause de cache_cool,
il faut que je trouve pourquoi.
Cédric
Le 17 mai 2010 à 09:02, Simon Camerlo a écrit :
Paolo a écrit :
On 13/05/10 04:48, Simon Camerlo wrote:
Ce qui m'intrigue aussi énormément, c'est qu'une fois que j'ai fait ça
(et rien d'autre), je retrouve tous mes plugins désactivés...
Là je peux confirmer ce problème : j'ai réactivé cache_cool ce weekend, et par deux fois (après quelques heures) je trouve tous les plugins du site *désactivés*. Cela se passe avant la suppression des fichiers dans /tmp (ce qui est nécessaire pour arriver dans l'espace privé -- car page blanche), car on voit sur l'espace publique que les plugins ne marchent plus.
Paolo
Ah, du nouveau : on est donc au moins deux à avoir ce problème.
Je n'avais pas remarqué que les plugins sont désactivés avant, mais maintenant que tu le dis c'est vrai : j'utilise accès restreint sur mon site, et la dernière fois j'ai détecté le problème parce qu'accès restreint me bloquait le site public comme s'il était désactivé, ça concorde donc.
Tu confirmes que ça n'arrive que quand cache_cool est activé ?
Et une autre information : ton serveur sql ou apache (ou les deux) a-t-il redémarré un peu avant les pannes que tu as eues ?
Enfin, : as-tu également le warning que j'ai posté plus tôt dans ton error.log ?
On 22/05/10 18:34, cedric.morin@yterium.com wrote:
Donc le problème est vraisemblablement une ecriture erronée dans les meta, à cause de cache_cool,
il faut que je trouve pourquoi.
Absolument zéro pression, OK ?
Quand tu as le temps. Et puis s'il y a quelque chose à faire pour t'aider, dis-le. Ou si tu veux un login etc...
Paolo
P.S. Je crains que j'ai découvert un bug avec médiatheque (du moins *révélé par la presence* de médiathèque). Voir fil sur spip-dev (création de rubrique).
On 22/05/10 18:34, cedric.morin@yterium.com wrote:
Donc le problème est vraisemblablement une ecriture erronée dans les meta, à cause de cache_cool,
il faut que je trouve pourquoi.
Absolument zéro pression, OK ?
Quand tu as le temps. Et puis s'il y a quelque chose à faire pour t'aider, dis-le. Ou si tu veux un login etc...
De même ici : mon site tourne comme une horloge sans cache-cool, donc il n'y a pas urgence vitale.
Je suis dispo pour faire des tests / dumps / etc. afin d'aider à traquer le bug.
Oui je pense qu'il va falloir que je fasse des tests pour comprendre ce qui provoque la desactivation des plugins, car je ne parviens pas à le reproduire (contrib tourne avec cache_cool et job_queue sans soucis)
J'ai fait quelques corrections de problèmes potentiels dans job_queue que j'ai vu en relisant le code.
Ça vaut le coup de tester la ré-activation de cache-cool après mise à jour des 2 plugins (cache_cool et job_queue), mais je ne suis pas certain que cela résoudra en effet le problème.
Cédric
Le 24 mai 2010 à 04:50, Simon Camerlo a écrit :
Paolo a écrit :
On 22/05/10 18:34, cedric.morin@yterium.com wrote:
Donc le problème est vraisemblablement une ecriture erronée dans les meta, à cause de cache_cool,
il faut que je trouve pourquoi.
Absolument zéro pression, OK ?
Quand tu as le temps. Et puis s'il y a quelque chose à faire pour t'aider, dis-le. Ou si tu veux un login etc...
De même ici : mon site tourne comme une horloge sans cache-cool, donc il n'y a pas urgence vitale.
Je suis dispo pour faire des tests / dumps / etc. afin d'aider à traquer le bug.