A.6. Cosa riportare
Indietro | Appendice A. Come segnalare i bug (errori) | Avanti

## A.6. Cosa riportare

Potrebbe servire che tu includa nel tuo rapporto sul bug registrazioni, configurazioni o file di esempio. Se alcune di queste cose sono abbastanza grandi, è meglio caricarle sul nostro server FTP in un formato compresso (si preferiscono gzip e bzip2) e inserisci nel rapporto solo il nome e il percorso del file. Le nostre mailing list hanno un limite sulla dimensione di 80k, se hai qualcosa di più grande devi comprimerlo o caricarlo.

### A.6.1. Informazioni di Sistema

- La tua distribuzione Linux o il sistema operativo e la versione, per es.:

  - Red Hat 7.1

  - Slackware 7.0 + pacchetti sviluppo dalla 7.1 ...

- La versione del kernel:

      uname -a

- La versione di libc:

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

- Le versioni di gcc e di ld:

      gcc -v
      ld -v

- La versione di binutils:

      as --version

- Se hai dei problemi con la modalità a schermo intero:

  - Il tipo di gestore di finestre e la versione

- Se hai dei problemi con XVIDIX:

  - La profondità colore di X:

        xdpyinfo | grep "depth of root"

- Se i bug sono solo nella GUI:

  - La versione di GTK

  - La versione di GLIB

  - La situazione della GUI in cui il bug si presenta

### A.6.2. Hardware e driver

- Informazioni CPU (questo funziona solo in Linux):

      cat /proc/cpuinfo

- La marca della scheda video ed il modello, per es.:

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

  - Matrox G400 DH 32MB SGRAM

- Il tipo di driver video & la versione, per es.:

  - X built-in driver

  - nVidia 0.9.623

  - Utah-GLX CVS 2001-02-17

  - DRI from X 4.0.3

- Il tipo di scheda video & driver, per es.:

  - Creative SBLive! Gold with OSS driver from oss.creative.com

  - Creative SB16 with kernel OSS drivers

  - GUS PnP with ALSA OSS emulation

- Se hai dei dubbi includi l'emissione di lspci -vv su sitemi Linux.

### A.6.3. Problemi del configure

Se ricevi degli errori eseguendo ./configure, o se fallisce la rilevazione automatica di qualcosa, leggi `config.log`. Puoi travarci la soluzione, per esempio varie versioni della stessa libreria mescolate sul tuo sistema, o hai dimenticato di installare il pacchetto di scviluppo (quelli con il suffisso -dev). Se pensi ci sia un bug, includi `config.log` nel tuo rapporto sul bug stesso.

### A.6.4. Problemi di compilazione

Per favore includi questi file:

- config.h

- config.mak

### A.6.5. Problemi in riproduzione

Per favore includi l'output di MPlayer al livello di verbosità 1, ma ricorda di non troncare tale output quando lo incolli nella tua mail. Agli sviluppatori servono tutti i messaggi per diagnosticare correttamente un problema. Puoi redirigere l'output in un file in questo modo:

    mplayer -v options filename > mplayer.log 2>&1

Se il tuo problema è specifico per uno o più file, allora per favore carica quello/i incriminato/i in: ftp://upload.mplayerhq.hu/incoming/

Carica anche un piccolo file di testo con lo stesso nome di base del file, con un'estensione .txt. Descrivi il problema che hai con quel particolare file e includi il tuo indirizzo email così come ll'ouptut di MPlayer all livello 1 di verbosità. Solitamente i primi 1-5 MB di un file sono abbastanza per riprodurre il problema, ma per esserne certi ti chiediamo di fare:

    dd if=tuo_file of=piccolo_file bs=1024k count=5

Questo copierà i primi 5 mega di 'tuo_file' e li scriverà su 'piccolo_file'. Dopo prova di nuovo con il file piccolo e se il problema si presenta ancora per noi è sufficiente. Per piacere non inviare mai questi file via mail! Caricali sull'FTP, e manda solo il percorso/nome del file nel server FTP. Se il file è raggiungibile in rete, allora è sufficiente inviare l'URL preciso.

### A.6.6. Crash

Devi eseguire MPlayer dentro a gdb e mandarci l'output completo oppure se hai un `core` dump del crash puoi ricavare informazioni utili dal Core file. Qui spiega come:

#### A.6.6.1. Come conservare le informazioni di un crash riproducibile

Ricompila MPlayer con il codice di debug abilitato:

    ./configure --enable-debug=3
    make

e poi esegui MPlayer da dentro gdb usando:

    gdb ./mplayer

Ora sei dentro gdb, Scrivi:

    run -v opzioni-per-mplayer nomefile

e riproduci il tuo crash. Appena ci sei riuscito, gdb ti ripresenterà il prompt dei comandi, dove devi digitare

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

#### A.6.6.2. Come ricavare informazioni significative da un core dump

Genera il file di comandi seguente:

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

Poi lancia semplicemente questo comando:

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

Indietro | Risali | Avanti
A.5. Dove segnalare i bug | Partenza | A.7. So quello che sto facendo...