"Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

"Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

par Pascal Maury,
Nombre de réponses : 7
Avatar Développeurs de plugins

Depuis la MAJ 2.3.4, nous avons du intervenir une dizaine de fois pour "rétablir" des cours. Plusieurs enseignants se sont vus affichés la fameuse erreur "Erreur de programmation détectée. Ceci doit être corrigé par un programmeur : PHP catchable fatal error" après avoir manipulé des activités. Visiblement cela se produit après la suppression d'une activité (d'après ce que nous disent les enseignants; nous n'avons pas de rapport précis).

La solution est simple : il suffit de vider le champ "modinfo" du cours en question. Celui-ci est regénéré correctement. En effet, en comparant les contenus avant et après, on s'aperçoit que la référence vers l'activité supprimée était restée dans le contenu du champ. Cela semble être la source de l'erreur.

En comparant les 2, on voit que le contenu avant suppression contient une entrée en plus :
i:2984;O:8:"stdClass":12:{s:2:"id";s:2:"10";s:2:"cm";s:4:"2984";s:3:"mod";s:6:"assign";s:7:"section";s:1:"3";s:9:"sectionid";s:3:"958";s:6:"module";s:1:"1";s:5:"added";s:10:"1360832730";s:7:"visible";s:1:"0";s:10:"visibleold";s:1:"1";s:6:"indent";s:1:"1";s:16:"showavailability";s:1:"1";s:4:"name";s:57:"Send your description by April 15th for personal feedback";}
Le module en question n'existe plus :
SELECT * FROM mdl_course_modules WHERE id = 2984
ne renvoie rien.

Ce problème était pas (ou alors très peu) présent avant l'application de la MAJ 2.3.4. J'ai faite celle-ci le 01/02/2013. Il s'agit de la version Moodle 2.3.4+ (Build: 20130125).
Mais nous venons de constater le mm problème avec notre autre plate-forme dont la version est Moodle 2.3.4+ (Build: 20130131).

J'ai bon espoir que la prochaine MAJ (prévue pour la semaine prochaine logiquement) corrige ce problème.
Je voulais savoir si d'autres personnes le rencontraient ? Je n'ai pas trouvé d'infos précisément là-dessus sur les forums. D'ailleurs le problème ne se pose pas à chaque suppression mais que dans certains cas sans que l'on sache pourquoi exactement. Il semblerait qd même que cela concerne des "gros" cours (= des cours avec pas mal de contenu, qui a pu être manipulé à plusieurs reprises).

Nous sommes aussi étonnés que Moodle bloque complètement le cours alors qu'il est capable de corriger le problème tout seul (il regénère un modinfo correct, pourquoi ne le fait-il pas de lui-même qd il rencontre ce problème ?)

Merci de vos retours. J'essayerai de vous dire si la prochaine MAJ a corrigé le problème.

Moyenne des évaluations  -
En réponse à Pascal Maury

Re: "Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Ici, on a le même problème lors de la duplication d'activité.

Une erreur est détectée qui nous éjecte du cours, puis en fin de création suivante, l'activité dupliquée (que l'on avait jamais vue) apparaît comme par magie.

C'est un peu pénible mais quand on le sait on arrive à s'en sortir ...

Jérôme.

En réponse à Jérôme DEMIAUX

Re: "Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

par Pascal Maury,
Avatar Développeurs de plugins

@Jérome : depuis 2.3.4 aussi ?

Qu'entends-tu par "puis en fin de création suivante" ?

@Joseph : le bug est peut etre lié à ca ... mais pkoi depuis 2.3.4 ?

En réponse à Pascal Maury

Re: "Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

par Jérôme DEMIAUX,
Avatar Traducteurs

Je ne peux pas précisément dater l'origine de la perturbation, tous les tests n'ont pas été tentés entre les différents passages de version.

Les actions.

Demande de copie d'une "activité 01" par un clic sur l'icone prévue
Ca mouline un peu, puis demande la validation de la copie "activité 02" via un bouton "continuer"
Hop message d'erreur ci-dessous puis éjection du cours et retour en page d'accueil
De retour dans le cours, rien n'a été modifié. Pas de trace de l'"activité 02"
Nouvelle création de n'importe quoi "activité 03" -> remplissage des paramètres
Fin de création "activité 03" et retour sur la page de cours
Miracle l'activité 02 est apparue avec l'activité 03 ...

En lisant le message d'erreur je m'aperçois que c'est peut-être le module taskchain qui crée le dysfonctionnement, bien qu'il n'y en ait point dans le cours. M'en vais expérimenter dans cette direction.

Jérôme.

PS : Le message d'erreur

Erreur de lecture de la base de données

Plus d'informations sur cette erreur

Debug info: Unknown column 't.entrytext' in 'field list'
SELECT t.id, t.entrytext, t.exittext
FROM mdl_taskchain t
JOIN mdl_backup_ids_temp b ON b.newitemid = t.id
WHERE b.backupid = ?
AND b.itemname = ?
[array (
0 => '08b14c880264776b271bf616cb747d6d',
1 => 'taskchain',
)]
Error code: dmlreadexception
Stack trace:
  • line 426 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 960 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 103 of /backup/util/helper/restore_decode_content.class.php: call to mysqli_native_moodle_database->get_recordset_sql()
  • line 72 of /backup/util/helper/restore_decode_content.class.php: call to restore_decode_content->get_iterator()
  • line 81 of /backup/util/helper/restore_decode_processor.class.php: call to restore_decode_content->process()
  • line 445 of /backup/moodle2/restore_stepslib.php: call to restore_decode_processor->execute()
  • line 34 of /backup/util/plan/restore_execution_step.class.php: call to restore_decode_interlinks->define_execution()
  • line 153 of /backup/util/plan/base_task.class.php: call to restore_execution_step->execute()
  • line 163 of /backup/util/plan/base_plan.class.php: call to base_task->execute()
  • line 157 of /backup/util/plan/restore_plan.class.php: call to base_plan->execute()
  • line 315 of /backup/controller/restore_controller.class.php: call to restore_plan->execute()
  • line 101 of /course/modduplicate.php: call to restore_controller->execute_plan()
En réponse à Pascal Maury

Re: "Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Je suis aussi tombé sur ce souci (il y a quelques semaines), et il est question de ce problème dans les bogues suivants : MDL-37763MDL-37939, mais également d'autres dont il est fait mention dans le rapport d'intégration de la semaine passée (7 mars).

La mise à jour vers Moodle 2.3.5 devrait corriger ces problèmes sourire

Séverin

En réponse à Séverin Terrier

Re: "Erreur de programmation détectée" récurrente depuis la MAJ 2.3.4

par Pascal Maury,
Avatar Développeurs de plugins

Ah ben je me disais bien ! Je me sens moins seul.

Bonne nouvelle, c donc réglé ! Merci à toi !