Appendice C - Come segnalare i bug

Come si segnalano i bug?

Prima, prova l'ultima versione CVS di mplayer, forse il tuo bug è già stato corretto. Le istruzioni per scaricare tramite CVS si trovano in fondo a questa pagina.

Se questo non è d'aiuto fai riferimento all' Appendice D, e al resto della documentazione. Se il tuo problema non è conosciuto o non si risolve con le nostre istruzioni, allora per favore segnala il bug:

Dove segnalare i bug?

Iscriviti alla mailing list mplayer-users:
http://mplayerhq.hu/mailman/listinfo/mplayer-users
e manda la tua segnalazione a:
mplayer-users@mplayerhq.hu
Per favore nota che noi non manderemo le vostre mail in CC (carbon-copy) nella lista, quindi è una buona idea iscriversi alla mailing list per ricevere veramente una risposta.

Per favore non mandare segnalazioni di bug privatamente a singoli sviluppatori. Il nostro è un lavoro di comunità e quindi potrebbero esserci più persone interessate. Inoltre a volte altri utenti hanno già avuto il tuo stesso problema e hanno una soluzione per evitarlo anche quando è un bug del codice di mplayer. La lingua di questa lista è l' Inglese

Per favore descrivi il tuo problema in dettaglio, con esempi ecc, e non dimenticare di includere queste importanti informazioni:

Cosa segnalare?

1. Informazioni sul sistema

- La tua distribuzione Linux o il tuo sistema operativo es.:
  - RedHat 7.1
  - Slackware 7.0 + pacchetti di sviluppo dalla 7.1 ...
- versione kernel:
  `uname -a`
- versione libc:
  `ls -l /lib/libc[.-]*`
- versione X:
  `X -version`
- versione gcc e ld:
  `gcc -v
  ld -v`
- versione binutils:
  `as --version`
- Se hai problemi con la modalità a pieno schermo:
  - Tipo e versione del window manager
- se solo la GUI è difettosa :
  - versione GTK
  - versione GLIB
  - versione libpng
  - situazione della GUI in cui si manifesta il bug

2. Hardware & driver:

- informazioni sulla CPU (questo funziona solo su Linux):
  `cat /proc/cpuinfo`
- Produttore e modello della scheda video, es.:
  - chip ASUS V3800U: nVidia TNT2 Ultra pro 32MB SDRAM
  - Matrox G400 DH 32MB SGRAM
- Tipo e versione del driver video, es.:
  - driver di X
  - nvidia 0.9.623
  - Utah-GLX CVS 2001-02-17
  - DRI di X 4.0.3
- Tipo e driver della scheda sonora, es.:
  - Creative SBLive! Gold con driver OSS da oss.creative.com
  - Creative SB16 con driver OSS del kernel
  - GUS PnP con emulazione OSS di ALSA
- se non sei sicuro manda l'output di lspci -v

Per problemi/errori di compilazione

Per favore includi questi file:

- configure.log
- config.h
- config.mak
- libvo/config.mak

Per problemi di riproduzione:

Per favore includi l'output di mplayer al livello di verbosità 1 ma ricordati di non tagliare l'output quando lo incolli nella tua mail. Gli sviluppatori hanno bisogno di tutti i messaggi per scoprire il problema. Puoi ridirezionare l'output in un file in questo modo:

`mplayer -v [opzioni] nomefile &> mplayer.log`

Se il problema è specifico ad uno o più file, allora per favore mandaci il file a:

`ftp://mplayerhq.hu/MPlayer/incoming/`

Manda anche un piccolo file di testo con lo stesso nome del tuo file, con estensione .txt. Descrivi qui il tuo problema e includi l'output del comando mplayer -v file e il tuo indirizzo e-mail.
Di solito i primi 1-5 MB del file sono abbastanza per riprodurre il problema, ma per esserne sicuri ti chiediamo di fare questo:

`dd if=tuofile of=piccolofile bs=1024k count=5`

Questo taglierà i primi 5MB di 'tuofile' e lo salverà in 'piccolofile'. Quindi riprova con il file piccolo, e se il bug è ancora presente allora per noi è abbastanza quest'ultimo.
Per favore non mandare mai questi file via mail. Caricalo, e manda solo il percorso/nomefile su FTP. Se il file è presente sulla rete allora è sufficiente mandare l' URL esatta.

Per i crash

Se hai il coredump del crash continua a leggere il prossimo paragrafo, altrimenti saltalo:

Come estrarre informazioni significative da un core dump.

Per favore crea il seguente file di comandi:

`disass $eip-32 $eip+32
printf "eax=%08lX\n",$eax
printf "ebx=%08lX\n",$ebx
printf "ecx=%08lX\n",$ecx
printf "edx=%08lX\n",$edx
printf "esp=%08lX\n",$esp
printf "ebp=%08lX\n",$ebp
printf "edi=%08lX\n",$edi
printf "esi=%08lX\n",$esi
`

Quindi semplicemente esegui la seguente linea di comando:

`gdb mplayer --core=core -batch --command=file_comandi > mplayer.bug`

Come conservare informazioni su un crash riproducibile

Ri-compila mplayer col codice di debug abilitato:
./configure --enable-debug=3
make

quindi esegui mplayer all'interno di gdb, in questo modo:
`# gdb mplayer`
Ora sei all'interno di gdb. Scrivi:
`> run -v [opzioni-per-mplayer] nomefile`
e riproduci il tuo crash. Appena fatto, gdb ti rimanderà al prompt, dove devi scrivere
`> bt`
`> disass $eip-32 $eip+32`
e mandaci l'output completo.

Nota generale:

Se qualcosa è proprio grande (i log per esempio) allora è meglio caricarlo sull' ftp in formato compresso (gzip e bzip2 sono preferiti), e includere solo il percorso/nomefile nella segnalazione di bug.

So quello che sto facendo...

Se hai fatto un appropriata segnalazione seguendo i passi sopra, e sei sicuro che sia un bug di mplayer, non un problema del compilatore o un file danneggiato, hai già letto la documentazione e non hai trovato la soluzione, i tuoi driver del suono sono ok, allora puoi voler iscriverti alla lista mplayer-advusers e mandare lì la tua segnalazione per avere una migliore e più rapida risposta. Ma sei avvisato: se mandi domande da newbie o con risposte presenti nella documentazione, sarai ignorato invece di avere una risposta appropriata. Quindi non ti arrabbiare con noi, iscriviti a -advusers solo se sai veramente cosa stai facendo e ti senti un utente o sviluppatore avanzato di mplayer. Se hai queste caratteristiche non ti dovrebbe essere difficile scoprire come iscriverti...