Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Bug stats sympa 2.x, 3.x

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

Archives de la liste

Chronologique Discussions  
  • From: Olivier Salaun <adresse@cachée>
  • To: Guy Brand <adresse@cachée>
  • Cc: sympa-fr <adresse@cachée>
  • Subject: Re: [sympa-fr] Bug stats sympa 2.x, 3.x
  • Date: Mon, 08 Apr 2002 11:54:36 +0200

Bonjour,

Nous prenons en compte ton message du 22 mars un peu tard :

Guy Brand wrote:

> Nous avons rencontré un blocage de l'une de nos listes gérées par
> sympa (v3.3.3/Debian) en début de semaine. L'envoi de tout message
> (modérateur ou abonné) à destination de cette liste aboutissait à :
>
> Mar 21 11:10:24 sympa[28517]: No subscriber in list liste
> Mar 21 11:10:24 sympa[28517]: Unable to send message to list liste
> Mar 21 11:10:24 sympa[28517]: Moving bad file liste.1016705424.28538 to
> bad/
>
> La liste n'avait pourtant pas été dépeuplée.
> Après vérification, l'erreur est liée au contenu du fichier stats de
> cette liste :
>
> %> cat /var/lib/sympa/expl/liste/stats
> 377 138431 2755338 -2146445630 777
>
> L'entier utilisé pour stocker le nombre d'octets distribués par la
> liste déborde (plate-forme i86). La ligne 4665 du package List.pm de
> sympa provoque cette écriture :
>
> if (<L> =~ /^(\d+)\s+(\d+)\s+(\d+)\s+(\d+)(\s+(\d+))?/) {
>
> échoue et conduit aux valeurs par défaut [0 0 0 0 0], et le message
> d'erreur ("No subscriber in list...") est lié à la dernière valeur
> ($total = 0).
>
> La correction proposée est une modification de la fonction
> _save_users_file (dans List.pm) :
>
> printf L "%d %d %.0f %.0f %d\n", @{$stats}, $total;
>
> au lieu de :
>
> printf L "%d %d %d %d %d\n", @{$stats}, $total;
>
> évitant l'integer overflow à l'écriture du fichier lorsque $stats[3] >
> 2^31 - 1.

Nous avons appliqué cette correction :
http://listes.cru.fr/cgi-bin/cvsweb.cgi/sympa/src/List.pm.diff?r1=1.261&r2=1.262

> Par ailleurs, l'absence d'un fichier de stats ou un fichier de stats
> vide provoque aussi le blocage de la liste, puisque $total est
> initialisée à 0 (lignes 4670 et 4675 de List.pm). Je pense qu'il est
> rare de démarrer une liste (fut-ce de test du robot) sans au moins 1
> utilisateur. Je propose donc de fixer la valeur par défaut de $total
> à 1 et non à 0. Ceci évite le blocage de la liste lorsque le fichier
> stats est absent (il est créé), vide (touch) ou contient des données
> qui ne « matchent » pas le motif de la ligne 4665 de List.pm (solution
> de repli sans blocage).

Sympa n'est pas censé être en erreur lorsque le nombre d'abonnés est à 0
(différenciation 0 et undef), on a corrigé :
http://listes.cru.fr/cgi-bin/cvsweb.cgi/sympa/src/List.pm.diff?r1=1.254&r2=1.255

Merci.

--
Olivier Salaün
Comité Réseau des Universités


  • Re: [sympa-fr] Bug stats sympa 2.x, 3.x, Olivier Salaun, 08/04/2002

Archives gérées par MHonArc 2.6.19+.

Haut de le page