A.6. Co zgłaszać

Może zajść potrzeba dołączenia logu, konfiguracji lub przykładowego pliku w Twoim zgłoszeniu błędu. Jeżeli któryś z nich ma duży rozmiar, lepiej załadować go na nasz serwer FTP w skompresowanej postaci (gzip i bzip2 są preferowanymi formatami) i załączyć tylko ścieżkę i nazwę pliku do zgłoszenia błędu. Nasza lista ma ustawiony limit rozmiaru każdej wiadomości na 80k. Jeżeli potrzebujesz wysłać coś większego, musisz to skompresować albo załadować na serwer.

A.6.1. Informacja o systemie operacyjnym

  • Nazwa Twojej dystrybucji Linuksa albo system operacyjny. Np.:

    • Red Hat 7.1

    • Slackware 7.0 + pakiety rozwojowe z 7.1 ...

  • wersja jądra (kernela):

    uname -a

  • wersja biblioteki libc:

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

  • wersja gcc i ld:

    gcc -v
    ld -v

  • wersja binutils:

    as --version

  • Jeżeli masz problem z trybem pełnoekranowym:

    • Menadżer okien i wersja

  • Jeżeli masz problem z XVIDIXem:

    • głębia barw Xów (colour depth):

      xdpyinfo | grep "depth of root"

  • Jeżeli tylko GUI zawiera błędy:

    • wersja GTK

    • wersja GLIB

    • wersja libpng

    • Sytuacja w której pojawia się błąd GUI

A.6.2. Sprzęt i sterowniki

  • informacje o procesorze (CPU) (to działa tylko pod Linuksem):

    cat /proc/cpuinfo

  • Producent karty graficznej i model. Np.:

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

    • Matrox G400 DH 32MB SGRAM

  • Typ sterownika video i wersja, np:

    • wbudowane sterowniki X

    • nVidia 0.9.623

    • Utah-GLX CVS 2001-02-17

    • DRI z X 4.0.3

  • Typ karty dźwiękowej i sterownik, np:

    • Creative SBLive! Gold ze sterownikiem OSS z oss.creative.com

    • Creative SB16 ze sterownikiem OSS z kernela

    • GUS PnP z emulacją ALSA OSS

  • Jeżeli masz wątpliwości, załącz wyjście linuksowego polecenia lspci -vv.

A.6.3. Problemy z konfiguracją

Jeżeli ./configure zwraca błąd albo automatyczne wykrywanie czegoś zawiedzie, przeczytaj configure.log. Możliwe, że znajdziesz tam odpowiedź, na przykład kilka połączonych wersji tej samej biblioteki w Twoim systemie albo że zapomniałeś zainstalować pakietów rozwojowych (tych z przyrostkiem -dev albo -devel). Jeżeli wydaje Ci się, że istnieje jednak błąd, załącz configure.log w twoim raporcie.

A.6.4. Problemy z kompilacją

Prosimy załączyć następujące pliki:

  • config.h

  • config.mak

A.6.5. Problemy z odtwarzaniem

Prosimy załączyć wyjście MPlayera w trybie gadatliwym na poziomie pierwszym (opcja -v - przyp. tłum.), ale pamiętając o nie skracaniu wyniku polecenia podczas kopiowania go do Twojego listu. Deweloperzy potrzebują wszystkich informacji do prawidłowego zdiagnozowania problemu. Możesz przekierować wyjście bezpośrednio do pliku w ten sposób:

mplayer -v opcje nazwa_pliku > mplayer.log 2>&1

Jeżeli Twój problem jest specyficzny dla jednego albo wielu plików, załaduj winowajcę(ów) na: ftp://upload.mplayerhq.hu/MPlayer/incoming/

Załaduj także mały plik tekstowy nazwany tak samo jak Twój plik, ale z rozszerzeniem .txt. Opisz w nim problem, który masz z zawartym plikiem i załącz swój adres email oraz wyjście MPlayera w trybie gadatliwym na poziomie pierwszym. Zazwyczaj pierwsze 1-5 MB pliku jest wystarczające do odtworzenia problemu, ale żeby być pewnym prosimy wykonać:

dd if=twój_plik of=mały_plik bs=1024k count=5

To polecenie weźmie pierwsze pięć megabajtów 'twojego_pliku' i zapisze je do 'małego_pliku'. Następnie spróbuj odtworzyć mały plik i jeśli błąd wciąż się pojawia plik ten jest dla nas wystarczający. Prosimy w żadnym wypadku nie wysyłać plików poprzez pocztę elektroniczną! Załaduj je na serwer FTP i wyślij tylko ścieżkę/nazwę pliku. Jeżeli plik jest dostępny w sieci, wyślij dokładny adres pod którym jest on dostępny.

A.6.6. Awarie programu (ang. Crashes)

Musisz uruchomić MPlayera wewnątrz gdb i wysłać nam kompletne wyjście, albo jeżeli posiadasz zrzut core (ang. core dump) utworzony w wyniku awarii, wyciągnąć z niego użyteczne informacje. Oto jak to zrobić:

A.6.6.1. Jak otrzymać informację o awarii

Przekompiluj MPlayera z opcją debugowania kodu:

./configure --enable-debug=3
make

i uruchom MPlayera używając gdb:

gdb ./mplayer

Jesteś teraz wewnątrz gdb. Wpisz:

run -v opcje-mplayera nazwa_pliku

i odtwórz swoją awarię. Gdy tylko to zrobisz, gdb przeniesie cię z powrotem do wiersza poleceń, gdzie należy wpisać

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

A.6.6.2. Jak wyciągnąć sensowne informacje ze zrzutu core (ang. core dump)

Utwórz plik z nastepującymi poleceniami:

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

A następnie uruchomić następujące polecenie:

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