Lenteur de subversion en image.

5 mars 2009

J’utilise de plus en plus git mais de nombreux projets sur lesquels je travaille utilise « encore » subversion. Récemment dans le cadre d’une séance de debug nocturne avec Pollux, j’ai tapé une commande subversion sur les sources de NuFW :

svn log -r 5437:5443

Là, ça a pris du temps, beaucoup de temps. Bon, d’accord, subversion ne stocke pas l’historique et il faut aller chercher les informations sur le réseau mais tout de même.

J’ai lancé nf3d pour voir la tête des connexions ouvertes par subversion pour réaliser sa tâche. L’analyse des dégâts a été rapide comme le montre le screenshot suivant :

nf3d : svn log sur le projet NuFW

nf3d : svn log sur le projet NuFW

En blanc, on peut voir les connexions de svn. Je ne m’étonne plus du tout de la lenteur en voyant ce carnage…

Recherche troll base de données

13 février 2009

J’ai effectué une recherche pour trouver de l’aide sur une fonction postgresql. Ma recherche était :

pgsql conditional table creation

Le retour de google est pour le moins surprenant :

google et postgresql

google et postgresql

Me proposer une recherche sur mysql, ce n’est pas vraiment sympa !

Qu’est devenue la moralité ?

7 février 2009

À tout ceux qui ont fait de la publicité pour du lait en poudre en Afrique, à tous ceux qui ont breveté des médicaments contre le sida, à tout ceux qui touchent des millions et licencient des milliers de salariés, à tout ceux qui ont collaboré sous le régime de Vichy, rassurez-vous vous n’avez rien fait qui ne mérite que l’on s’y attarde car vous étiez dans la légalité. Vivez sereinement, les gens qui ont le pouvoir en France ne viendront pas gâcher votre vie comme vous l’avez fait à d’autres.

On arrive à cette conclusion si l’on analyse les réactions de M. Copé et M. Sarkozy sur l’affaire Kouchner. Je ne m’appuie pas sur le fond de l’affaire mais les arguments employés tant par le président du groupe UMP à l’assemblée que par le président de l’UMP de la République. Leurs deux discours de défense du ministre d’ouverture ont été des copies conformes, si l’on prend celui de M. Sarkozy :

Monsieur Kouchner n’est accusé de rien d’illégal dans ce livre et il n’y a donc pas de quoi s’inquiéter

Il y avait une légère variante pour M. Copé qui réagissait avant la parution du livre :

Si rien d’illégal n’est révélé, M. Kouchner ne doit pas être inquiété

Voilà, je n’ai pas envie de faire long, les limites de la moralité sont fixées par le cadre légal et tout ce qui reste dans le cadre légal n’est pas condamnable moralement.

Tueurs de bébés africains, tueurs de malades du sida, briseurs de vie, complices de génocide, vous voilà rassurés sur votre moralité.

Un publiciste et un physicien sont dans une Renault …

4 février 2009

Le publiciste crie à la face du monde son slogan dont il est très fier :

Renault – La France avance Renault accélère

Le physicien répond alors :

Comme c’est triste, Renault va délocaliser.

Ce discours qu’à première vue Ionesco n’aurait pas renié est pourtant complétement logique. Le slogan annonce en effet que la France se déplace vers l’avant et que Renault accélère. On en déduit donc que Renault est en accélération par rapport au référentiel France. La vitesse de Renault dans ce référentiel va donc augmenter. La taille de la France étant finie, on en déduit qu’au bout d’un certain temps, Renault va sortir de France. En terme économique, on appelle ça une délocalisation.

Blague à part, si on considère que le grand succès actuel de Renault est la Logan, notre physicien n’est malheureusement pas très loin de la vérité.

La classe et la coquetterie

16 janvier 2009

Dans la série, il ne faut pas confondre la classe et la coquetterie, je vous présente le manteau en fausse fourrure léopard avec des imprimés Mickey et Minnie :

Manteau de fourrure Mickey

Fourrure léopard avec imprimés Mickey

Il faut me croire sur parole, mais la petite tache rouge dans le pli sur la droite du manteau, c’est le ruban de Minnie qui est rouge comme il se doit.

PS : je m’excuse platement envers le groupe facebook des amateurs de fourrures Walt Disney mais j’ai du mal à comprendre leur passion.

Portrait d’un acheteur d’Office

16 janvier 2009

Bon, la publicité Microsoft Office, j’en parle, j’en parle mais ais-je la preuve de son efficacité ? Ais-je par exemple vu quelqu’un ayant acheté Office ?

Et oui, voilà la photo :

Victime de la pub Office

Victime de la pub Office

L’écharpe OM autour du cou, le téléphone tactile dans une main et la boite Microsoft Office dans l’autre, dans le métro Ligne 14, voici mon premier exemplaire d’acheteur du pack Office.

Contribution au libre, 2009 commence fort.

14 janvier 2009

Du côté de mes contributions au logiciel libre, l’année 2009 commence assez fort. Il semble que j’ai réussi à déclencher une petite révolution.

Le système de test de NuFW avait mis en évidence un crash rare, non reproductible facilement dans nuauth, le serveur d’authentification de NuFW. Les sorties de gdb ou valgrind révélaient un problème absurde dans la bibliothèque cyrus-sasl. NuFW l’utilise pour réaliser la phase d’authentification des utilisateurs. Le crash apparaissait lors d’un appel à sasl_dispose() qui est la fonction à appeler lorsque l’on a terminé la phase d’authentification. Après maintes vérifications et plusieurs dizaines d’heures de debug, j’étais convaincu que nuauth, le serveur d’authentification de NuFW, utilisait la bibliothèque de manière correcte et que le code environnant était correct.

Lorsque l’utilisation d’une bibliothèque est légitime et que l’on obtient un plantage, c’est que l’on a trouvé un bug. J’ai donc alors commencé à enquêter sur Cyrus-sasl. Cette bibliothèque est développée dans le cadre du projet cyrus (serveur de mail imap) par la Carnegie Mellon University. Elle est utilisée par un nombre conséquent de logiciels libres fameux (dont openldap, sendmail). Même si sendmail a une réputation sulfureuse de sécurité, il est connu pour sa stabilité. Et donc, en me lançant dans le debug de ce problème début septembre 2008, je savais que je m’attaquais à quelque chose de robuste car très utilisé. Le bug allait donc être complexe à trouver.

J’enchainais alors des séances de deboguage plus ou moins longues passant à certain moment plusieurs longues journées de travail (lire 14 ou 15 heures) sur ce problème. Je sortais tout de même victorieux de la confrontation et le 20 septembre 2008, j’envoyais un message à la liste de diffusion cyrus-sasl : [PATCH] Fix problem with sasl_set_mutex

NuFW utilise les bibliothèques cyrus-sasl et libldap_r et libldap_r utilise lui aussi cyrus-sasl. Elle s’en sert lors de la phase d’authentification sur la base LDAP. Comme, et libldap_r et NuFW sont multithreadés ou multithreadable, ils initient tous les deux la bibliothèque cyrus-sasl pour le support des threads. Il y a notamment un appel à sasl_set_mutex() qui définit l’implémentation de mutex à utiliser. NuFW appelle cette fonction avec ses propres paramètres et libldap_r fait de même (même lorsque l’on fait un bind simple, les connaisseurs apprécieront). Or sasl_set_mutex() ne détectait pas qu’une initilisation avait déjà été faite. On avait donc un conflit possible. Les fonctions de mutex sasl prennent des paramètres void* en entrée et travaille sur ces pointeurs. Il y donc potentiellement des casts dangereux.

Dans le cas de NuFW, le problème était beaucoup plus radical. L’initialisation de libldap_r se fait lors du chargement du module ldap de nuauth. Par conséquent, c’est la fonction ldap qui est utilisée après chargement du module. Or, nuauth peut changer de configuration et donc de modules à chaud. Il réalise notamment un déchargement des modules. Or, cela ne met pas à jour la fonction mutex de sasl qui appelle donc une fonction déchargée. Ceci conduit immanquablement au crash. Cette fonctionnalité de modification de configuration à chaud est massivement utilisé dans le système de tests de NuFW et c’est donc pour cette raison que le crash ne se produisait qu’à cet endroit.

J’aurais du déboguer plus rapidement ce problème. La piste que j’aurais du voir plus tôt était l’utilisation de fonctions stockées à des emplacements mémoires non valides. Cette information était donnée par gdb et j’aurais du lui faire d’avantage confiance.

Ma remontée de bug et mon patch ont rapidement été pris au sérieux et un patch implémentant mon idée a été commité dans les sources : Fixed sasl_set_mutex() to disallow changing mutex management functions once sasl_server_init/sasl_client_init is called

J’étais content de voir ce correctif appliqué, mais vu la criticité pour NuFW, j’aurais été satisfait de voir arriver une nouvelle version de cyrus-sasl fixant ce bug. Le problème étant déclenché par une utilisation précise de la bibliothèque, je n’étais pas en droit de remonter mon exigence. De plus, la dernière version de cyrus-sasl date du 19 mai 2006 et je me doutais donc que je n’allais pas être entendu.

Début janvier, un mail envoyé sur la liste a pointé le fait que le bug était reproductible en utilisant le stockage des mots de passe sasl dans ldap : En utilisant lui aussi la bibliothèque libldap_r cyrus-sasl se mordait la queue. Le bug était donc aussi interne à cyrus-sasl. Fort de cette conclusion, j’envoyais une réponse au message signalant le problème :

This made the bug self contained and not dependant of other applications. Given the fact that the effect of this bug is a crash of the calling program, it could be interesting to release a new version of the sasl library. (my 0.02$)

J’avais ainsi osé demandé une nouvelle version sur un logiciel où je n’avais pas écrit une ligne de code. À ma surprise, cela s’est conclu par ce message :  Next release of CMU SASL – call for favorite bugfixes où un membre de l’équipe de développement annonce l’arrivée probable, aux alentours du 15 février, d’une nouvelle version de la bibliothèque et demande quels sont les corrections de bugs que les utilisateurs voudraient voir figurer dans cette version.

Je commence donc l’année 2009, en réussissant à déclencher la sortie d’une nouvelle version d’une bibliothèque qui n’avait pas eu de nouvelles versions depuis près de trois ans !

Je conclus ce poste en plagiant pollux et en revoyant mes objectifs de contributions à la hausse pour l’an prochain :

En 2010, je déclenche une sortie de Debian.

« Offer office to your PC », c’est moins cher

9 janvier 2009

Parfois, on a l’impression d’être poursuivi.Si l’on en croit ce mail (publicité désastreuse de ms dans la rue : agissons !), la campagne pour l’offre promotionnelle Office semble avoir repris. Comme c’est l’époque des soldes, il n’y a rien de bien étonnant à cela. C’est facile pour Microsoft de casser les prix quand on fait plus de 90% de bénéfice sur un produit.

J’arrête là la digression. Je disais donc que je me sentais poursuivi. La raison en est la suivante. La campagne de publicité pour Office est mondiale (ce qui confirme que l’aire de répartition du pigeon est une des plus étendues). J’en tiens pour preuve qu’en me connectant innocemment à amazon.com, je suis tombé sur la version américaine de la publicité :

Pub Office sur amazon.com

Pub Office sur amazon.com

On peut donc faire des économies de fous en s’offrant Office à $74.99. Attendez ! $74.99 mais ça fait 54.73 €. Il fallait donc s’y attendre, l’offre magique de Microsoft en France est bien en deça de l’effort commercial consenti aux Etats-Unis. On pourrait donc modifier le slogan pour dire « Achetez en France et perdez 24,26 € ». D’un côté, au vu de la crise outre-atlantique un prix plus bas est peut-être nécessaire. Américain, américaine, courage, des solutions à la crise existent :

Why not to buy Office

Why not to buy Office

LCL en veut toujours plus à votre argent

26 décembre 2008

L’article sur le fabuleux agenda LCL gratuit la première année et bien cher la deuxième connait en cette fin d’année 2008 un succès retentissant. Pour vous en persuader, voici l’analyse des statistiques sur cet article :

Statistiques de consultation LCL/Publibanque

Comme on peut le voir, il y a une explosion en fin d’année.

Ceci s’explique facilement, un grand nombre de personnes constatent un prélèvement « publibanque » de 24,90€ sur leur compte sans comprendre de quoi il s’agit. Or l’article du blog apparait en deuxième page de google pour la recherche publibanque et de nombreuses personnes parviennent donc sur ce blog avec cette recherche.

Au titre des nouvelles « réconfortantes » sur le front de cette arnaque, on a :

  • Passage de 18€ à 24,90€ du prélèvement
  • Societe.com nous apprend que la société publibanque a été radiée

Ce dernier point est assez inquiétant, comment est-il possible qu’une société morte parvienne à réaliser des prélèvements ? et dans ce cas, qui touche l’argent ?

Comme quoi, ceux qui avaient tiré comme conclusion de la crise qu’un bon banquier est un banquier mort, se sont trompés : Même radiée, la société Publibanque vous pique encore votre argent.

Diététique et féminisme sont dans un bateau.

17 décembre 2008

Parfois le matin, on n’est tellement pas réveillé qu’on lit tout et n’importe quoi. Cette fois, c’était le paquet de special K pour les fêtes de fin d’année.

Pour égayer la fin d’année, le paquet comporte une partie astuce. Le titre de l’astuce du jour est « Affligée ou positive ? ». Ci dessous, un scan de l’astuce :

Astuce special K

Pour les gens qui n’ont pas l’image, Kellogs nous fait un remake de la blague :

Chérie, laisse la vaisselle, c’est la journée de la femme aujourd’hui. Tu la feras demain matin.

Un court extrait :

Nettoyer, c’est une excellente façon de se dépenser, de brûler plus de calories, je mobilise tous les muscles de mon corps, et commence l’année positive et motivée.

Pour les gens qui doutent de la cible féminine de cette astuce renversante :

  1. C’est des special K
  2. Il y a un « e » à motivée