Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
[sympa-fr] Plantage de sympa_msg.pl lors d'un "include_users_ldap_2level"
- From: Gauthier Catteau <adresse@cachée>
- To: adresse@cachée
- Subject: [sympa-fr] Plantage de sympa_msg.pl lors d'un "include_users_ldap_2level"
- Date: Thu, 9 Feb 2017 09:24:16 +0100
Bonjour, Nous avons remarqué un bug gênant qui se produit lorsqu'une
requête ldap à 2 niveaux renvoi un dn inexistant lors de la
requête niveau 2. Ce problème est présent dans la version 6.2.16
de sympa. Exemple: J'ai une liste diffusion sympa construite à partir d'une liste ldap. Sympa fait une première requête qui retourne la liste des uniquemember de la liste ldap et pour chaque uniquemember retourné, sympa fait une requête ldap pour récupérer l'adresse email de la fiche en question. Le plantage survient lorsqu'une fiche utilisateur a été supprimé
et que la liste ldap n'a pas été mis à jour. Nous avons donc un
uniquemember qui pointe vers une fiche ldap qui n'existe pas. Ce
qui fait planté sympa_msg.pl. Le seul moyen de relancer le processus est de corriger la liste ldap et de supprimer l'entrée uniquemember incriminée. Autre constat, si une erreur de ce type est présente dans notre ldap, la commande "sympa.pl --sync_list_db" plante également. Ce plantage a pour conséquence de vider la table "list_table", rendant l'interface web de sympa inutilisable. J'ai bien conscience que ce type de situation ne devrait jamais se produire, notre ldap devrait toujours être impeccable. Mais je préfère que sympa remonte une erreur, voir envoi un message d'alerte à listmaster, plutôt que de le voir agoniser :-(. Voici le message d'erreur reçu par mail au redémarrage de sympa:
DIED: Can't call method "shift_entry" on an undefined value at /var/lib/sympa/bin/Sympa/List.pm line 5625, <DATA> line 558. Sympa::List::_include_users_ldap_2level(HASH(0xa475a9c), '0ad4baf2', HASH(0xad0af90), Sympa::DatabaseDriver::LDAP <bind_dn=uid=sympa,o=mondomaine,c=fr;ca_verify=required;host=ldap://ldap.mondomaine.fr;ssl_ciphers=ALL;ssl_version=sslv2;use_tls=none>, HASH(0xa9484ac)) called at /var/lib/sympa/bin/Sympa/List.pm line 6128 Sympa::List::_load_list_members_from_include(Sympa::List <adresse@cachée>, HASH(0xa49f4d8)) called at /var/lib/sympa/bin/Sympa/List.pm line 6900 Sympa::List::sync_include(Sympa::List <adresse@cachée>) called at /var/lib/sympa/bin/Sympa/List.pm line 7252 Sympa::List::on_the_fly_sync_include(Sympa::List <adresse@cachée>, 'use_ttl', 1) called at /var/lib/sympa/bin/Sympa/Spindle/ToList.pm line 182 Sympa::Spindle::ToList::_send_msg(Sympa::Message <adresse@cachée>, undef) called at /var/lib/sympa/bin/Sympa/Spindle/ToList.pm line 55 Sympa::Spindle::ToList::_twist(Sympa::Spindle::ProcessModeration=HASH(0xab31794), Sympa::Message <adresse@cachée>) called at /var/lib/sympa/bin/Sympa/Spindle.pm line 92 Sympa::Spindle::spin(Sympa::Spindle::ProcessModeration=HASH(0xab31794)) called at /var/lib/sympa/bin/Sympa/Request/Handler/distribute.pm line 60 Sympa::Request::Handler::distribute::_twist(Sympa::Spindle::ProcessMessage=HASH(0xab350b4), Sympa::Request <action="distribute;adresse@cachée>) called at /var/lib/sympa/bin/Sympa/Spindle.pm line 92 Sympa::Spindle::spin(Sympa::Spindle::ProcessMessage=HASH(0xab350b4)) called at /var/lib/sympa/bin/Sympa/Spindle/DoCommand.pm line 117 Sympa::Spindle::DoCommand::_twist(Sympa::Spindle::ProcessIncoming=HASH(0xa903124), Sympa::Message <adresse@cachée,6337>) called at /var/lib/sympa/bin/Sympa/Spindle.pm line 92 Sympa::Spindle::spin(Sympa::Spindle::ProcessIncoming=HASH(0xa903124)) called at /var/lib/sympa/bin/sympa_msg.pl line 240 Je pense qu'il manque juste une gestion d’exception quelque part,
mais je ne suis pas suffisamment compétant en perl pour proposer
un patch. Visiblement il y a déjà une entrée dans le bug tracker, mais qui ne fait pas référence au plantage de la commande "sympa.pl --sync_list_db" https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=11012&group_id=23&atid=167 Merci Bonne journée |
- [sympa-fr] Plantage de sympa_msg.pl lors d'un "include_users_ldap_2level", Gauthier Catteau, 09/02/2017
Archives gérées par MHonArc 2.6.19+.