Índice
Obtener una cuenta de Trac
Creación de un reporte de fallo
Fallos de programas
Fallos de servidores
Fallos de núcleo
Zona de depuración de núcleo (KDL - Kernel Debugging Land)
Registro de Eventos de Sistema
Salida de depuración en pantalla
Fallos de hardware/controladores
¿Qué sigue?

Cómo reportar fallos

Debido a que nuestros desarrolladores no pueden verificar todas las combinaciones de hardware, ni todas las posibles maneras de interactuar con el sistema operativo, estamos contando con que los usuarios nos den retroalimentación sobre cómo funcionan las cosas de su lado. Dado que Haiku todavía es muy joven, es probable que vaya a encontrar fallos. Le agradecemos por tomarse el tiempo para reportar estos fallos. Juntos podemos mejorar a Haiku, poco a poco.

Para mantener nuestro rastreador de fallos efectivo, es esencial supeditarse a la Etiqueta del rastreador de fallos.

index Obtener una cuenta de Trac

Para llenar un reporte, necesita tener una cuenta en el Rastreador de fallos de Haiku.
Cuando se cree una cuenta nueva, asegurese de proporcionar su correo electrónico pues es necesario obtener privilegios de modificación básica del reporte. Asegúrese de comprobar su carpeta de correo no deseado (spam) brevemente después, ya que a menudo toda verificación de correo importante termina allí.

index Creación de un reporte de fallo

Antes de reportar un fallo, por favor asegúrese que aún no exista un reporte. Puede también usar la función de búsqueda para esto.
Tras haber establecido que es un fallo nuevo, haga que su información sea lo más precisa posible:

index Fallos de programas

Cuando una aplicación deja de responder, puede guardar un informe o archivo de volcado de memoria (core file), ambos guardados en el Escritorio, y puede adjuntar estos archivos a un informe de fallos, o puede invocar el Depurador.

Si no se trata de un error que haga fallar a la aplicación, es posible obtener información útil si se la inicia desde la terminal. Algunas aplicaciones cuentan con registros de eventos y otras opciones al inicio mediante ciertos parámetros; intente utilizar como parámetros -h or --help para ver si ese es el caso. Como ejemplo, inténtelo con HaikuDepot para ver los diferentes niveles de registro.

index Fallos de servidor

Cuando dejan de responder servidores vitales como el app server, el registrar o el input server, no verá la alerta de cuelgue normal. En lugar de ella, la pantalla completa se pondrá en blanco y el Depurador será iniciado en modalidad de sólo texto, y su información de salida aparecerá directamente en la pantalla. Probablemente pueda seguir moviendo el ratón, que sobreescribirá el blanco y la salida del Depurador en pantalla. Aplicaciones que se sigan ejecutando, como ProcessController o el reloj en la Barra de Escritorio, también podrían dibujar encima de la salida de depurador en la pantalla.
Más allá que todo se muestre de manera más desagradable e incómoda, basicamente lo mismo aplica para fallos en aplicaciones. Es muy importante que procure obtener un rastreo de pila (back trace) con la orden bt. Puede que sea necesario que tome una foto de la pantalla con una cámara digital, ya que no podrá copiar el texto en ningún lado.
Dependiendo de que fue lo que dejó de responder, puede intentar guardar un informe de cuelgue en el Escritorio con la orden save-report o write-core para un archivo de volcado, y luego presionar el botón de encendido una vez para intentar apagar el sistema de forma limpia. Si no funciona el botón de encendido, también están las ordenes shutdown (apagar) y reboot (reiniciar).

index Fallos de núcleo (kernel)

Los fallos de núcleo a menudo son los de efectos más severos mientras que a la vez son los más dificiles de depurar. Hay diferentes tipos de síntomas, que muy probablemente apuntan a un problema de controlador o de núcleo:

Tome nota que aún cuando parece que sólo el último inciso parece indicar que es algo relacionado con hardware, todos los otros síntomas podrían ser provocados por una falla en un controlador de hardware también. Si tiene la sospecha que una pieza de hardware o su controlador correspondiente pueda que tenga que ver con el problema, revise si retirando/desactivando el hardware o el controlador hacen alguna diferencia. Por ejemplo, si sospecha sobre el Wifi podría encontrar que su BIOS tenga una opción para desactivarlo. O si no, podría añadir el controlador de Wifi responsable a la lista negra de su instalación de Haiku (vea Cargador de arranque).

index Zona de depuración del núcleo - KDL

Si el sistema no ha entrado al KDL por sí sólo, puede ingresar deliberadamente invocando la combinación de teclas ALT SysReq D (siendo SysReq (PetSis) el mismo botón que Impr pant en la mayoría de los teclados).
Tome nota que en el KDL su teclado podría dejar de funcionar. Los teclados PS/2 siempre lo hacen, con los teclados USB depende del tipo de controlador (UHCI/EHCI). Generalmente, el teclado debería estar conectado al puerto directamente, no a través de un hub. En algunas circunstancias, el teclado sólo funciona si uno ha ingresado al KDL por el método abreviado de teclado al menos una vez anteriormente. Actualmente no se soporta USB OHCI.

El KDL mismo es un tipo de intérprete de comandos. Uno puede ejecutar ordenes que despliegan información sobre el sistema. Los siguientes comandos pueden ser de interés:

bt (también conocido como sc) muestra el "backtrace", o rastreo de pila. Si el sistema entró en el KDL por si solo, un rastreo de pila normalmente se muestra de forma automática. Ingrese la orden si eso no sucedió así o parte de ella está cubierta (por ejemplo, si el rastreo de pila es tan largo que dio la vuelta), y su única forma de proveer la información a los desarrolladores es tomando una foto de la pantalla.
ints mostrará el uso de interruptores manejados y no manejados de hardware.
co (lo mismo que continue) saldrá del depurador del kernel y continuará la operación del sistema, si es posible.
reboot Reinicia el sistema inmediatamente. Perderá toda la información no guardada y tal vez alguna que haya guardado, pero que todavía no se ha escrito en el disco.

Para más información, vea el artículo Bienvenido a la Zona de Depuración del Kernel (en inglés).

La salida de KDL se escribe al puerto serial (si tiene uno, el cable respectivo, y un segundo ordenador para conectarlo, puede capturar la salida allá via un programa de terminal) y al registro del sistema (syslog). Pero si no puede salir del KDL, no será escrito en el archivo de registro de sistema. Hay una opción de depuración del cargador de arranque que permite capturarlo, no obstante (vea abajo).

Es posible generar códigos QR desde la salida de KDL que luego pueden ser convertidos a texo usando teléfonos inteligentes o aparatos similares. Vea la entrada del blog Codifique su salida KDL en QR (en inglés) sobre cómo extraer datos del KDL usando esa característica.

index Registro de Eventos de Sistema

Este es el método predilecto para extraer información de un sistema que no arranca.
El Registro de Eventos de Sistema (o syslog, por su nombre corto en inglés) contiene información valiosa sobre lo que ha sucedido con su sistema, incluyendo la salida de las sesiones KDL. Normalmente es buena idea adjuntarlo al ticket de Trac relacionado con el núcleo. El syslog es escrito al archivo /boot/system/var/log/syslog. Debido a que escribir a un archivo requiere un sistema funcional, la salida más reciente puede no haber logrado llegar al syslog cuando ocurre un problema en el núcleo (particularmente en reinicios espontáneos o sesiones KDL incontinuables).

La opción Activar registro de depuración del sistema (Enable debug syslog) en el menú Depuración (Debug menu) del cargador de arranque hace que el registro del sistema sea persistente. Si la opción Guarda registro del sistema de la sesión anterior durante el arranque (Save syslog from previous session during boot) ha sido activada en las opciones del cargador de arranque (como lo está de forma predeterminada), podrá encontrar el registro del sistema de su sesión anterior en /boot/system/var/log/previous_syslog.
Si no puede arrancar para obtener el archivo previous_syslog, tendrá que ingresar al menú del cargador de arranque manteniendo presionada la tecla MAYÚS (o ESPACIO si arranca en un sistema UEFI) mientras arranca.
En el menú Depuración del cargador de arranque, podrá encontrar las entradas Mostrar registro del sistema de la sesión anterior (Display syslog from previous session) y Guardar registro del sistema de la sesión anterior (Save syslog from previous session). La primera muestra el registro del sistema en pantalla, mientras que la segunda le permite guardarlo como un archivo en el disco duro. Téngase en cuenta que actualmente solamente se permite guardar el archivo en volúmenes FAT32. Si quiere hacerlo en una unidad USB pero la conectó demasiado tarde, por lo que no ha sido detectada, puede reiniciar la máquina y volver a entrar en el menú del cargador de arranque. Atención: no arranque ningún sistema operativo accidentalmente o los datos se perderán.

index Salida de depuración en pantalla

La salida de depuración en pantalla es útil solamente para depurar problemas muy específicos y tiene problemas (de sincronización). No la use si no tiene necesidad de hacerlo.
Esta sólo es relevante cuando Haiku no arranca en su máquina y la opción de Registro de depuración del sistema (Debug syslog) no funciona por alguna razón. Antes que aparezca el logo de arranque de Haiku, mantenga presionada la tecla MAYÚS (o ESPACIO al arrancar en un sistema UEFI) para entrar en el menú del cargador de arranque. Seleccione Seleccionar opciones de arranque en modo seguro (Select safe mode options). Cerca de la parte inferior, aparecerá en la lista Activar salida de depuración en pantalla (Enable on screen debug output). (Nota: Se pueden activar las otras opciones para tratar que Haiku arranque. Si Haiku sólo arranca cuando una o más opciones están activadas, asegúrese de mencionar cuales son).
Para terminar, seleccione Regresar a menú principal (Return to main menu) y luego Continuar con el arranque (Continue booting).
Se mostrará en pantalla una o más páginas de texto, aunque sólo es necesario incluir las últimas líneas que aparezcan al abrir su ticket. Por más información, consulte la documentación sobre el Cargador de arranque.

index Fallos de hardware/controladores

Cuando se enfrente a fallos relacionados con hardware/controladores, debería adjuntar la siguiente información como archivos de texto:

- listdev un listado detallado de su hardware, incluyendo las IDs de fabricante y dispositivo PCI, similar a los comandos de Linux lshw y lspci.
- listusb -v asumiendo que el conflicto se relacione con USB, esto es similar a lsusb.
- open /var/log/syslog vea Registro de sistema arriba, parecido al depurador en pantalla cuando se arranca. Con la orden open puede acortar a la parte relevante del registro de sistema en un editor de texto.
- listimage | grep drivers/ muestra una lista de todos los controladores utilizados.
- usb_hid_report En caso de dispositivos de entrada USB, agregue el archivo /tmp/usb_hid_report_descriptor_*.bin.
- ints sólo disponible en la Zona de depuración del núcleo (kernel) (vea abajo). Muestra el uso de interruptores. No deberían haber muchos que esten compartidos por diferentes dispositivos.
- Salida de depuración en pantalla (una opción de depuración durante el arranque, véase arriba).

Las primeras cuatro ordenes se pueden ingresar en la Terminal. Agregue un > output.txt tras una orden, y será canalizada a un archivo de texto llamado "output.txt" que puede adjuntar al reporte de fallos o correo electrónico.

index

Luego que se ha reportado un fallo, un desarrollador verá el reporte e intentará clasificarlo. Recuerde, todos somos voluntarios, y por ello, algunas veces un fallo pudiera estar sin responderse por un tiempo. El agregar nueva información cuando esté disponible normalmente ayuda a que se seleccione un fallo más rápidamente, pero no intente 'empujar' el fallo arriba en la lista agregando comentarios no descriptivos.

Recuerde, reportar un fallo no es algo en lo que tome un poquito de tiempo y sea todo. Si se reporta un fallo, se vuelve parte del proceso de desarrollo de Haiku. Los desarrolladores podrían llegar con preguntas mientras intentan arreglar el fallo reportado. Por favor, permanezca atento para responderlas. Considere su participación 'terminada' cuando el fallo se marque como 'arreglado'.