Accéder au contenu.
Menu Sympa

fr - [sympa-fr] Plantage de sympa_msg.pl lors d'un "include_users_ldap_2level"

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • 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
--
Gauthier Catteau



  • [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+.

Haut de le page