Anhang C - Wie man einen Fehler berichtet

Wie berichte ich über Programmfehler?

Lese zuerst Anhang D sowie andere Dokumentationen. Wenn dein Problem nicht bekannt ist oder durch unsere Anweisungen nicht gelöst werden kann, berichte über den Fehler:

Wo?

Tritt der mplayer-users Mailingliste bei:
    http://mplayerhq.hu/mailman/listinfo/mplayer-users
und sende deinen Fehlerbericht an:
    mplayer-users@mplayerhq.hu
Wir werden keine persönliche Kopie senden, also bitte anmelden!!!

Sende auf keinen Fall Fehlerberichte direkt an die private Mail-Adresse des Autors!!! Wir arbeiten miteinander am Quellcode, also ist jeder interessiert. Nebenbei gesagt: Oft wissen auch andere Benutzer eine Lösung (Systemkonfigurationsprobleme, fehlerhafte Treiber usw.), sogar wenn wir denken es sei ein Fehler in unserem Code. Die Sprache dieser Mailingliste ist ENGLISCH!

Bitte beschreibe dein Problem detailiert - Beispiele usw. - aber vergiss nicht, dass dein Bericht folgendes beinhalten sollte:

Was?

1. Die Systeminfos, die wir immer wollen:

2. Hardware & Treiber:

Bei Kompilierungsfehlern/-problemen

3. Ausgabe von configure/make:

4. diese Dateien:

Bei Wiedergabeproblemen:

3. Ausgabe von MPlayer in Ausführlichkeits-Stufe 1 (-v)

    mplayer -v [Optionen] Dateiname &> mplayer.log

4. Wenn das Problem spezifisch für eine oder einige wenige Dateien besteht, lade die Datei bitte auf:

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

Uploade auch eine kleine .txt-Datei mit dem selben name wie die Datei, die das Problem beschreibt! Normalerweise reichen die ersten 1-5MB der Datei aus, um das Problem zu reproduzieren, aber als erstes solltest du das ausprobieren:

   dd if=deinedatei of=kleinedatei bs=1k count=1024

(kopiert das erste MB von 'deinedatei' in die Datei 'kleinedatei') Nun versuche es nochmals mit dieser kleinen Datei, wenn der Fehler immer noch auftritt reicht es die kleine Datei hochzuladen.
Sende NIE solche Dateien via mail! Lade es herauf und schicke nur den Pfad/ Dateinamen der Datei auf den FTP Server. Wenn die Datei im Internet bereits verfügbar ist reicht die _exakte_ URL aus!

5. Bei Abstürzen (Speicherverletzung, SIGILL, signal 4 usw.):

Wenn du ein Speicherabbild (Coredump) vom Absturz besitzt, siehe 5.a,
ansonsten 5.b:

5.a: Bitte gib uns den Coredump aus (sofern er erzeugt wurde).

Wie: Bitte erzeuge die folgende Kommandodatei (Command File):

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

Dann führe einfach den folgenden Befehl aus:

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

5.b.: Führe MPlayer im gdb (GNU Debugger) aus:

Kompiliere MPlayer neu, mit eingeschaltetem debugging:
./configure --enable-debug
make

[im Root/User Shell Prompt:]
    # gdb mplayer
[im gdb Prompt:]
    > run -v [Optionen für Mplayer] Dateiname
... (warte bis zum Absturz)
    > bt
    > disass $eip-32 $eip+32
Sende uns die gesamte Ausgabe obiger Dinge!

Allgemein:

Wenn etwas sehr groß ist (Log-Dateien usw.) ist es besser es gezippt auf den FTP hochzuladen und nur den Pfad-/Dateinamen im Fehlerbericht anzugebeben!