Une base de données n'est bonne qu'en fonction des données qu'elle contient. Généralement, le sens commun (si quelque animal peut l'avoir) dicte le type d'informations les plus utiles pour traquer et résoudre un problème logiciel.
Le principe fondamental pour utilement signaler un bug est le suivant : rapportez tous les faits. Si vous ne savez pas si vous devez signaler un fait ou pas, signalez-le !Cela vaut pour tout type de problèmes. Pour les logiciels comme pour les injustices sociales ou la réparation d'une moto. C'est spécialement important en informatique car un tout petit changement peut avoir de grosses conséquences (une variable modifiée, deux points manquants...)
Donc le noyau a paniqué et vous a affiché une bonne quantité de nombres hexadécimaux avant de s'arrêter. Il est important pour vous de signaler cet évènement car un vrai système d'exploitation ne plante ou ne panique jamais si le matériel n'est pas en cause (rares sont les logiciels qui puissent faire quelque chose contre des pannes matérielles). Le bug est alors la seule explication. Nous devons donc le traquer et l'écraser pour que NetBSD soit toujours plus stable et plus robuste que jamais.
Le problème est que l'état de la pile que le noyau a affiché est spécifique à votre noyau. Les nombres doivent donc être re-convertis en symboles de la table de référence pour qu'une personne ne possédant pas votre noyau puisse se faire une image précise de l'endroit où il a décidé de s'arrêter.
Au minimum, recopiez les nombres du «PC» et convertissez-les en référence symboliques (il s'agit du Program Counter de votre ordinateur, l'endroit où en est le programme). Le mieux serait même que vous vous arrangiez pour copier et coller tout le texte.
Donc, si le noyau vous affiche quelque chose comme (généralement sur plusieurs lignes) :
pc = 0xf80ff430 args = (0x0, 0x41001fe5, 0xf8139c00, 0xf8123d20, 0xf8101e38, 0xf8143800, 0xf8123c68) fp = 0xf8123c68
Le numéro du PC est spécifique au noyau que vous utilisez et est probablement différent de celui des autres personnes. Il doit donc être converti en référence à un symbole. Pour convertir un nombre hexadécimal en référence à un symbole, utilisez gdb(1), de la façon suivante :
gdb -k /netbsd x 0xf80ff430 0xf80ff430 <cpu_reboot+196>: 0x40000093
Le résultat <cpureboot+196> issu de gdb(1) est ce dont ont besoin les gens qui seront amenés à travailler sur le problème. Mettez-le dans le rapport, accompagné des autres arguments de cette ligne.
A la page rapport de problème #3765, vous trouverez un exemple exhaustif de rapport sur une panique noyau.
|
|