# B függelék - Hogyan jelezd a hibákat

Egy jó bugreport nagyon hasznosan járul hozzá a szoftver fejlődéséhez. Ennek megfelelően mindkettejük elkészítése is bizonyos időt igényel. Kérlek vedd figyelembe hogy a legtöbb feljesztő elfoglalt, és emellett még vad mennyiségű e-mailt is el kell olvasnia. Tehát, - bár a visszajelzésed nagyon fontos - meg kell értened hogy az összes általunk kért információt meg kell adnod, és lépésről-lépésre követned kell az itt leírtakat.

## B.1 Hogyan javítsak egy bugot?

Ha elég tudást érzel magadban, próbáld kijavítani a hibát saját magad. Vagy talán már meg is tetted? Olvasd el ezt a rövid kis szöveget, hogy megtudd mit kell tenned hogy a javításod bekerüljön az MPlayerbe. Az mplayer-dev-eng listán lévők segítenek ha kérdésed van.

## B.2 Hogyan jelents be hibát?

Először is nézd meg a CVS verziót, mert lehet hogy az általad talált hibát már kijavítottuk. A fejlesztés nagyon gyors ütemben zajlik, a "hivatalosan" kiadott MPlayerben lévő hibákat napokon vagy akár órákon belül kijavítjuk. Éppen ezért csak a CVS verziót használd hibák bejelentésére. A CVS letöltésére vonatkozó utasításokat ezen a lapon találhatod meg. Ha ez nem segített a probléma megoldásában, akkor olvasd el az ismert hibák fejezetet, és a dokumentáció többi részét. Ha a problémád nem ismert, vagy a mi tanácsaink alapján nem oldódik meg, akkor kérjük jelentsd be.

Ne küldj bugreportot közvetlenül valamelyik készítőnek. Együtt dolgozunk a kódon, ezért mindenkit érdekelhet a hiba. Előfordulhat, hogy más felhasználók már tudják a megoldást a problémádra. Ha a levelezési listára írsz hamarabb juthatsz segítséghez, hiszen azt több ember olvassa.

Kérjük részletezd a problémát olyan mélységben ahogyan csak tudod. Szűkítsd le a lehetséges okokat amik a hibához vezethetnek. A hiba csak bizonyos szituációkban jön elő? Bizonyos fileokhoz vagy file formátumokhoz kapcsolódik? Csak egy codec-kel, vagy minddel előjön? Az összes kimenettel reprodukálható? Minél több információt küldesz, annál több esélyünk van arra hogy sikeresen javítsunk. Ne feledd továbbá csatolni az összes, lejjebb felsorolt információt, különben valószínűleg nem fogunk sikerrel járni.

A nyilvános fórumokon történő kérdésfeltevéshez egy nagyszerű és jól megírt útmutató a Hogyan tegyünk fel hasznos kérdéseket, Eric S. Raymond-tól. Egy másik hasznos írás a Hatékony Bugreportolás című, amit Simon Tatham követett el. Ha ezeket követed, biztonságban vagy. Másrészről viszont mivel mindannyiónk szabad idejében és nem kötelezően követi a listák forgalmát, így nem következik hogy mindig ráérünk, és/vagy azonnal szolgáltatjuk a probléma megoldását.

## B.3 Hol jelentheted be?

Iratkozz fel az mplayer-users levelezési listára:
http://mplayerhq.hu/mailman/listinfo/mplayer-users
és küldd a bugreportot az
mplayer-users@mplayerhq.hu
címre.

A lista nyelve angol. Kérjük kövesd a szabvány Netikettet, és ne küldj HTML formátumú levelet egyik listánkra se, különben vagy nem fog senkit se érdekelni a leveled, vagy ki leszel tiltva. Ha nem tudod mi az a HTML formátumú levél, olvasd el ezt a leírást. Megjegyzendő továbbá, hogy nem fogunk CC-zni (carbon copy) mindenkinek, így jó ötlet feliratkozni a listára mielőtt elküldöd a leveled.

## B.4 Miből álljon a bugreport

Szükség lehet naplófile-okra, konfigurációra, vagy egy minta file-ra a bugreporthoz.Ha ezek közül valamelyik nagy méretű, akkor jobb ha FTP-re töltöd fel (gzip és bzip2 előnyben ..), és csak a file nevét, elérhetőségét írod bele a bugreportba! A levelezési listáink 80k-ra vannak korlátozva, így ha ennél nagyobb állományt akarsz küldeni tömörítsd, vagy tedd letölthetővé.

### B.4.1 Rendszer információ

- milyen disztribúciót használsz?
  például:
  - RedHat 7.1
  - Slackware 7.0 + csomagok 7.1-ből...
- kernel verzió
  `uname -a`
- libc verzió:
  `ls -l /lib/libc[.-]*`
- X verzió:
  `X -version`
- gcc és ld verzió:
  `gcc -v
  ld -v`
- binutils verzió:
  `as --version`
- ha a probléma kapcsolódik a teljesképernyős mód használatához:
  - ablakkezelő típusa, verziószáma
- XVIDIX-szel kapcsolatos problémák esetén:
  - X színmélysége:
    `xdpyinfo | grep "depth of root"`
- ha a GUI a bugos:
  - GTK verzió
  - GLIB verzió
  - libpng verzió
  - a szituáció leírása, melyben a hiba előjött

### B.4.2 Hardver és eszközmeghajtók

- CPU típusa:
  `cat /proc/cpuinfo`
- video kártya: gyártó és típus
  például:
  - ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM
  - Matrox G400 DH 32MB SGRAM
- video driver típus és verzió
  például:
  - X beépített drivere
  - nvidia 0.9.623
  - Utah-GLX CVS 2001-02-17
  - DRI a 4.0.3-as X-ből
- hangkártya típus és driver
  például:
  - Creative SBLive! Gold az oss.creative.com-ról való driverrel
  - Creative SB16 a kernel OSS driverével
  - GUS PnP az ALSA OSS emulációjával
- ha nem vagy biztos a dolgodban, csatold az `lspci -vv` kimenetét

### B.4.3 Configure problémákhoz

Ha hibát kapsz miközben a `./configure` fut, vagy egy autodetektálás hibát jelez, olvasd el a `configure.log` file-t.

### B.4.4 Fordítási problémákhoz, hibákhoz

Kérlek küldd el az alábbi file-okat:

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

Ha a fordítás az alább felsorolt könyvtárak egyikében áll le, a következő file-okat is küldd el:

- `Gui/config.mak`
- `libvo/config.mak`
- `libao2/config.mak`

### B.4.5 Lejátszási problémákhoz

Kérjük mellékeld az MPlayer kimenetét legalább 1-es bőségi (verbosity) szinten, de ne töröld ki sorokat a kimenetből, mikor a levélbe másolod. A fejlesztőknek az összes üzenetre szükségük van. A következőképpen tudod file-ba irányítani a kimenetet:

`mplayer -v [opciók] filenév &> mplayer.log`

Ha a probléma csak egy, vagy néhány file-nál jelentkezik, töltsd fel a file-t (file-okat) ide:

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

Tölts fel egy (a fájloddal azonos nevű) kis .txt fájlt, amiben leírod hogy mi a baj, plusz egy mplayer -v kimenet, és az email címed!
Általában az első 1-5 MB elég, hogy reprodukáljuk a problémát, de először próbáld ki:

`dd if=a_file of=kis_file bs=1024k count=5`

Ez az a_file első 5 MB-ját elmenti kis_file néven. Ekkor próbáld lejátszani a keletkező file-t, és ha a bug jelentkezik, akkor elég lesz csak ennyit feltölteni.
Soha ne küldj file-t levélben! Töltsd fel, és csak a file nevét küldd el! Ha a file a neten hozzaférhető, akkor a pontos URL elküldése is elég!

### B.4.6 Összeomlás (Michael Douglas) esetén

Futtasd az MPlayer-t `gdb`-ben, és a kimenetét küldd el nekünk, vagy coredump file esetén a következők szerint járj el:

#### B.4.6.1 Hogyan nyerjünk ki értelmes tartalmat egy reprodukálható crash-ből

Fordítsd újra az MPlayer-t engedélyezve a hibakereső módot:

`./configure --enable-debug=3
make`

majd futtasd az MPlayer-t gdb-ből:

`gdb ./mplayer`

Most a gdb-n belül vagy. Írd be a következőket:

`run -v [mplayer-opciók] filenév`

és reprodukáld a hibát. Amint megtörtént, a gdb visszaadja a promptot, ahova a következőket kell beírnod

`bt
disass $eip-32 $eip+32
info all-registers`

és a kimenetet elküldeni nekünk.

#### B.4.6.2 Hogyan nyerjünk ki értelmes tartalmat a coredump-ból

Hozz létre egy file-t (parancs_file) a következő tartalommal:

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

Ezután írd be a következő parancsot:

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

## B.5 Tudom hogy mit csinálok...

Ha a fentieket követve csináltál egy megfelelő bugreportot, biztos vagy benne hogy MPlayer, nem pedig fordító, file, hang-meghajtó hibáról van szó, elolvastad a dokumentációt és nem találtál benne megoldást, iratkozz fel az mplayer-advusers levelezési listára és oda küldd a reportot, biztos lehetsz benne hogy jobb és gyorsabb választ kapsz.
Ha kezdő, vagy a dokumentációban már megválaszolt kérdést küldesz, vagy figyelmen kívül hagyunk, vagy leordítjuk a hajad.
Ne flamelj minket, és csak akkor iratkozz fel az advusers listára ha tényleg tudod hogy mit csinálsz, és/vagy hozzáértő MPlayer felhasználónak/fejlesztőnek érzed magad. Ha ez mind rád illik, nem lesz nehéz kitalálni a feliratkozás módját...