Una base de datos solo es buena si la información que contiene lo es también. En general, el sentido común (suponiendo que dicho animal existe) marca el tipo de información que sería más util cuando se intenta seguir y se busca una solución al problema.
El principio fundamental del reporte de bugs es simplemente: informar de todos los hechos. Si no está seguro de si decir una cosa o no, ¡dígala!Esto se mantiene verdadero en cualquier sistema de informe de problemas, para software o injusticia social o mantenimiento de las motocicletas. Es especialmente importante en el campo del software debido a las diferencias que pueden causar las grandes diferencias, aunque parezcan insignificantes (una variable cambiada, un punto y coma inexistente, etc.).
Así que el kernel ha soltado un panic, le dio un montón de numeros hexadecimales y se paró. Es importante informar de este suceso, ya que el sistema operativo no debería nunca producir ningun panic, a menos que el hardware del ordenador falle (normalmente el sistema operativo no puede hacer nada para solucionar problemas del hardware). Esto nos lleva a que la causa de los panic's puedan ser bugs en el kernel y necesitamos seguir y reparar dichos bugs para hacer de NetBSD un sistema más estable y robusto que ahora.
El problema estriba en que el volcado de la pila que el kernel imprimió es específico a su kernel, y los numeros mostrados deber ser re-convertidos otra vez en referencias a la tabla de símbolos de modo que otra persona que no tiene su kernel pueda conseguir imagiarse por qué falló.
Como mínimo, anote los números del "PC" y conviertalos a referéncias simbólicas - esto es, el Program Counter (Contador de programa) para el ordenador; donde estaba ejecutando. Idealmente, si pudiese copiar y pegar todos los datos sería lo mejor.
Cuando el kernel le dé algo así (normalmente muchas líneas):
pc = 0xf80ff430 args = (0x0, 0x41001fe5, 0xf8139c00, 0xf8123d20, 0xf8101e38, 0xf8143800, 0xf8123c68) fp = 0xf8123c68El número del PC es específico al kernel que estaba ejecutando y no es posible que sea igual al kernel de cualquier otro, así que tiene que ser convertido en una referencia a la tabla de símbolos. Para convertir un número hexadecimal a una referencia, utilize gdb(1), del modo siguiente:
gdb -k /netbsd x 0xf80ff430 0xf80ff430 <cpu_reboot+196>: 0x40000093
El resultado "<cpureboot+196>" que devulete gdb(1) es lo que la gente que mire a su problema va a necesitar, de modo que póngalo (preferentemente junto a la línea "args") en su informe de problema.
Consulte el informe de problema #3765 para ver un ejempo exhaustivo de un panic del kernel.
|
|