# Cómo reportar errores

Informes de errores buenos son una contribución muy valiosa para el desarrollo de cualquier proyecto de software. Pero solo por escribir buen software, buenos informes de problemas involucran algún trabajo. Por favor tenga en cuenta que la mayoría de los desarrolladores están extremadamente ocupados y reciben cantidades inmensas de correo. La realimentación es crucial para mejorar MPlayer y es muy apreciada, por favor entienda todo lo que tiene que hacer para proveer toda la información que le pedimos y siga las instrucciones de este documento al pie de la letra.

## Cómo corregir fallos

Si tiene los conocimientos necesarios está invitado a corregir los fallos usted mismo. ¿O quizá ya lo ha hecho? Por favor lea este pequeño documento para ver cómo obtener el código incluido en MPlayer. La gente de la lista de correo mplayer-dev-eng le ayudará si aún le quedan dudas.

## Cómo informar de errores

Lo primero de todo pruebe la última versión CVS de MPlayer por si el fallo ya está arreglado allí. El desarrollo se mueve extremadamente rápido, la mayoría de los problemas en las liberaciones oficiales son reportados en pocos dias e incluso en horas, use por favor solo CVS para informar de fallos. Esto incluye los paquetes binarios de MPlayer. Instrucciones para el CVS pueden encontrarse al final de esta página o en el README. Si esto no le ayuda diríjase al resto de la documentación. Si su problema no es conocido o no se puede solucionar siguiendo nuestras instrucciones, entonces informe por favor del error.

Por favor, no envíe informes de errores de manera privada a desarrolladores individuales. Esto es trabajo en común y puede haber más gente interesada en él. Algunas veces otros usuarios han experimentado los mismos problemas y saben como solucionar el problema incluso aun siendo un error en el código de MPlayer.

Por favor, describa su problema con tanto detalle como sea posible. Haga un pequeño trabajo de detective para arrinconar las circunstancias bajo las que el problema ocurre. ¿El error solo ocurre en determinadas situaciones? ¿Es específico de cierto tipo de archivos o con archivos concretos? ¿Ocurre con un codec específico o es independiente del codec? ¿Puede reproducirse con todos los controladores de salida? Cuanta más información nos proporcione mejor podremos actuar para arreglar su problema. Por favor, no olvide también incluir la información valiosa que se indica más abajo, en caso contrario será más dificil diagnosticar el problema correctamente.

Una guía excelente y bien escrita para hacer preguntas en foros públicos es Cómo hacer preguntas inteligentes por Eric S. Raymond. Hay otra llamada Cómo informar de errores de manera efectiva por Simon Tatham. Si sigue los pasos de estas guías deberás ser capaz de obtener ayuda. Pero por favor entienda que la lista de correo la siguen voluntarios en su tiempo libre. Estamos muy ocupados y no podemos garantizar que tengamos una solución para su problema o ni tan siquiera una respuesta.

## Dónde informar de los errores

Suscríbase a la lista de correo mplayer-users: y envíe su informe de error a:

El idioma de esta lista es Inglés. Por favor siga las Netiquette Guidelines estandar y no envíe correo en HTML a ninguna de nuestras listas de correo. Si lo hace puede ser ignorado o expulsado. Si no sabe qué es el correo HTML o por qué es el demonio, lea este buen documento. Explica todos los detalles y las instrucciones para desactivar el correo HTML. Note también que no debe hacer CC (carbon-copy) a personas individuales no es buena idea si quiere recibir una respuesta.

## De qué informar

Necesita incluir un historial, archivos de configuración o muestras en su informe de error. Si alguno de estos es muy grande entonces es mejor subirlos a nuestro servidor HTTP en un formato comprimido (gzip y bzip2 preferentemente) e incluir solo la ruta al nombre del archivo en su informe de error. Nuestras listas de correo tienen un límite en el tamaño del mensaje de 80k, si tiene algo más grande entonces deberá comprimirlo y subirlo.

### Información del Sistema

- Si distribución de Linux o sistema operativo y versión p.e.:

  - Red Hat 7.1

  - Slackware 7.0 + devel packs from 7.1 ...

- versión del kernel:

      uname -a

- versión de libc:

      ls -l /lib/libc[.-]*

- versiones de gcc y ld:

      gcc -v
      ld -v

- versión de binutils:

      as --version

- Si tiene problemas con el modo de pantalla completa:

  - Administrador de ventanas, tipo y versión

- Si tiene problemas con XVIDIX:

  - Profundidad de color de las X:

        xdpyinfo | grep "depth of root"

- Si solo el GUI está fallando:

  - versión de GTK

  - versión de GLIB

  - versión de libpng

  - situación del GUI cuando ocurre el error

### Hardware y controladores

- Información de la CPU (esto funciona solo en Linux):

      cat /proc/cpuinfo

- Fabricante de la tarjeta gráfica y modelo, p.e.:

  - ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM

  - Matrox G400 DH 32MB SGRAM

- Tipo y versión del controlador de video, p.e.:

  - X built-in driver

  - nVidia 0.9.623

  - Utah-GLX CVS 2001-02-17

  - DRI from X 4.0.3

- Tipo y controlador de la tarjeta de sonido, p.e.:

  - Creative SBLive! Gold con controlador OSS de oss.creative.com

  - Creative SB16 con controlador del kernel OSS

  - GUS PnP con emulación ALSA OSS

- En caso de duda incluya la salida de `lspci -vv` en sistemas Linux.

### Problemas de configuración

Si obtiene errores cuando ejecuta `./configure`, o la autodetección o algo falla, lea `config.log`. Puede encontrar la respuesta ahí, por ejemplo múltiples versiones de la misma biblioteca mezcladas en su sistema, o ha olvidado instalar los paquetes de desarrollo (los que tienen el sufijo -dev). Si cree que puede ser un error, incluya `config.log` en su informe.

### Problemas de compilación

Por favor incluya los siguientes archivos:

- config.h

- config.mak

Solo si falla la compilación bajo uno de los siguientes directorios, incluya estos archivos:

- Gui/config.mak

- libvo/config.mak

- libao2/config.mak

### Problemas de reproducción

Por favor incluya la salida de MPlayer con nivel de prolijo 1, pero recuerde no truncar la salida cuando pegue esto en su correo. Los desarrolladores necesitan todos los mensajes para diagnosticar correctamente el problema. Puede dirigir la salida a un archivo así:

    mplayer -v opciones nombre-archivo > mplayer.log 2>&1

Si su problema es específico con uno o más archivos, suba las víctimas a:

Suba también un pequeño archivo de texto que tenga la misma base en el nombre de su archivo con una extensión .txt. Describa el problema que tiene con el archivo en particular e incluya su dirección de correo electrónico así como la salida de MPlayer con nivel de prolijo 1. Usualmente los primeros 1-5 MB del archivo son suficientes para reproducir el problema, pero para asegurarse haga:

    dd if=su-archivo of=archivo-pequeño bs=1024k count=5

Esto coje los primeros cinco megabytes de 'su-archivo' y los escribe a 'archivo-pequeño. Entonces pruebe de nuevo con este archivo pequeño y si el error sigue apareciendo su muestra será suficiente para nosotros. Por favor, ¡nunca envíe estos archivos por correo! Súbalos, y envío solo la ruta/nombre del archivo en nuestro servidor FTP. Si el archivo está disponible en la red, entonces enviar la URL exacta es suficiente.

### Cuelgues

Debería ejecutar MPlayer dentro de `gdb` y enviarnos la salida completa o si tiene un volcado `core` de cuelgue puede extraer información útil desde el archivo Core. Aquí tiene cómo:

#### Cómo conservar información acerca de un error reproducible

Recompile MPlayer con debug de código activado:

    ./configure --enable-debug=3
    make

y luego ejecute MPlayer dentro de gdb usando:

    gdb ./mplayer

Ahora ya está dentro de gdb. Escriba:

    run -v opciones-para-mplayer
    nombre-archivo

y reproduzca el error. Tan pronto como muera, gdb le devuelve a la línea de órdenes donde entró

    bt
    disass $pc-32,$pc+32
    info all-registers

#### Cómo extraer información significativa desde un volcado core

Cree el siguiente archivo de órdenes:

    bt
    disass $pc-32,$pc+32
    info all-registers

y después ejecute ésta orden:

    gdb mplayer --core=core -batch --command=command_file > mplayer.bug

## Yo sé lo que estoy haciendo...

Si ha creado un informe de error correcto siguiendo los pasos anteriores y sabe que es un error en MPlayer, no un problema del compilador o un archivo en mal estado, ha leido ya la documentación y no puede encontrar una solución, sus controladores de sonido están en buen estado, entonces puede que quiera suscribirse a la lista de correo mplayer-advusers y enviar su informe de error ahí para obtener una respuesta más rápida y mejor.

Por favor tenga en cuenta que si plantea preguntas de novato o preguntas que ya han sido respondidas en el manual, entonces será ignorado o amenazado en lugar de obtener la respuesta apropiada. No nos amenaze a nosotros y suscríbase a -advusers solo si realmente sabe lo que está haciendo y se siente un usuario avanzado de MPlayer o un desarrollador. Si usted tiene este criterio no debería serle dificil encontrar cómo suscribirse a esta lista...