Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Problème d'encoding récurrent

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

Archives de la liste

Chronologique Discussions  
  • From: David Verdin <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Problème d'encoding récurrent
  • Date: Thu, 12 Oct 2017 10:02:26 +0200

Salut Luc,

D'abord, ton caractère tordu il est arrivé comment en base de données ? C'est forcément une donnée récente vu l'âge du serveur. Tu as dans les logs les données liées soir à la création soir à la modification du compte ?

Normalement, Sympa est complètement en UTF-8. Donc toutes les données, une fois qu'elles se trouvent manipulées par Sympa, sont de l'UTF-8. Donc ça ne devrait pas arriver.

Bon. C'est pour la propreté à l'avenir.

Dans l'immédiat, tu peux ajouter un eval qui t'évitera le crash :

Ligne 449 de Sympa::Message::Template :

    my $self =
        $class->SUPER::new($headers . $message_as_string, context => $that);
    return undef unless $self;

devient

   eval { my $self =
        $class->SUPER::new($headers . $message_as_string, context => $that); }

    return undef unless $self;
Évidemment, ça ne résoud pas le problème de fond mais au moins tes process ne crasheront plus. Et le message incriminé devrait finir en bad, donc tu peux le regarder et vois ce qui ne va pas.

Pour résoudre le problème de fond, il faudrait vir avec Soji en lui mettant une issue sur github : https://github.com/sympa-community/sympa/issues

Bonne journée !

David


On 11/10/2017 21:48, Luc Didry wrote:
jeudi 5 octobre 2017, 15:32:16 CEST Luc Didry wrote:
Hello,

J'ai assez régulièrement des bloquages pour des problèmes d'encodage. Ça tombe
en crachant des trucs de ce genre :
sympa_msg[4290]: err main::#240 > Sympa::Spindle::spin#92 > Sympa::Spindle::DoCommand::_twist#117 > Sympa::Spindle::spin#92
> Sympa::Request::Handler::review::_twist#85 > Sympa::send_file#387 > Sympa::Spindle::new#39 >
Sympa::Message::Template::new#181 > Sympa::Message::Template::_new_from_template#449 > Sympa::Message::new#149 >
MIME::Parser::parse_data#1130 > MIME::Parser::parse#1158 > MIME::Parser::process_part#1018 >
MIME::Parser::process_header#628 > MIME::Parser::Reader::read_chunk#236 > MIME::Parser::Reader::native_handle#186 DIED: Can't
call method "isa" on an undefined value at /usr/share/perl5/MIME/Parser/Reader.pm line 186.

En cause, des utilisateurs en base de données avec un caractère tofu (�) au
lieu
d'un accent (même un « é » tout bête) ou autre caractère non ascii.

Des fois c'est le bulk qui crashe, des fois le processus parsant les commandes
par mail.

Je résouds le problème en endossant l'identité de l'utilisateur en question et
en remettant un bon caractère (en remontant un peu les logs, je trouve
l'utilisateur ou la liste concernée) ou en modifiant son gecos via la liste
des
abonnés à la ML.

Est-ce que l'un d'entre vous aurait une idée pour éviter ces crashs réguliers
(j'en ai au minimum un par semaine) par hasard ?

J'ai sympa-6.2.16 sur une Debian Jessie et une base PostgreSQL 9.4.

Merci.

Ping ? Personne n'a d'idée ?

--
"Mieux vaut viser la perfection et la rater que viser la médiocrité et
l'atteindre."
- Francis Blanche





Archives gérées par MHonArc 2.6.19+.

Haut de le page