Les réjouissances continuent. De Jean-Pierre Liégois, jeune lecteur du Var (ou presque) :
Hier soir, plantage de l’appli au démarrage. Après investigation au debugger, un S/T explique que c’est la fonction d’initialisation de la RAM à 0 qui plante.
Du coup ca matin, tout le monde sur le pont pour vérifier la gestion de la RAM, la taille utilisée, regénérer l’exe pour être sûr qu’il n’ y a pas des décalages d’adresse ou truc du même genre … Impossible de résoudre le problème.
Dans l’après-midi, on retourne sur le banc pour refaire un coup de debugger, et la, surprise, le plantage n’est pas du tout sur la fonction indiquée la veille mais bien plus loin dans l’appli, sur une ligne qui, oh surprise encore, a été modifiée dans un correctif !!!
Conclusion : quand un S/T vous dit que le problème est là, surtout ne pas regarder là …
Là encore, rien que le pain quotidien du développement logiciel de logiciels embarqués. Le logiciel n’arrête pas de grossir, il y a forcément un moment où les constantes de dimensionnement appliquées depuis toujours ne conviennent plus : nécessité de faire grossir tel ou tel segment mémoire, de revoir les options du compilateur pour espérer gagner de la place, etc. Ce genre de choses est d’autant plus réjouissant que l’on sait que ça va arriver, tôt ou tard. Et pourtant, il n’y a jamais personne pour préparer la copie, car c’est autant de sous d’économisés tant que les limites ne sont pas atteintes. Par contre, une fois atteintes, la balance financière est rarement gagnante quand il s’agit de revenir à la normale. Mais passons.
À votre petit niveau d’intégrateur, que pouvez-vous faire dans le cas décrit plus haut ? Et bien avant tout, vous méfier ! Alors comme ça, d’un coup, la gestion de la mémoire est bancale parce qu’on a rajouté une condition dans le code ? Moi-même je ne compte plus les remarques du genre « ha non mais le problème est dans la libc » ou bien « c’est le compilateur qui doit être buggé ». Il faut avouer qu’il est difficile de lutter contre ce genre d’argument souvent invérifiable, d’autant plus si les outils en question sont connus et reconnus pour être particulièrement obsolètes et truffés de (non-)fonctionnalités amusantes. Sans compter les messages amusants que peuvent produire un débordement de pile … Tout de même, ce genre d’alerte doit effectivement vous inquiéter, mais ce n’est pas le message premier le plus inquiétant !
Il n’y a donc pas trente-six solutions : reprendre l’analyse du problème avec le porteur de mauvaise nouvelle. Avant de sortir la grosse artillerie des experts techniques qui, bien que roués à cet exercice, seront d’autant plus amers que le problème incriminé sera tout sauf avéré.
#1 par Bagouze à 29 août 2010 - 8 h 55 min
Citation
Dans la grande série des arguments permettant de justifier que « je vous jure le problème il est pas chez moi m’sieur l’agent » on m’a déjà servit :
- « c’est les drivers de la carte graphique qui doivent être obsolètes » pour une application sans calcul GPU
et le célèbrissime « je comprends pas chez moi ça marche ». Qui me donne tout de suite envie de sortir la 12.