Anhang C - Wie man einen Fehler berichtet

Wie bericht ich Programmfehler?

Probiere es als allererstes die letzte CVS-Version, da dein Problem möglicherweise schon gelöst ist. CVS-Anweisungen können am unteren Ende dieser Seite gefunden werden.

Wenn dies nicht hilft, sollte im Anhang D und dem Rest der Dokumentationen nachgesehen werden. Wenn dein Problem nicht bekannt ist oder durch unsere Anweisungen nicht gelöst werden kann, dann berichte über den Fehler:

Wenn man geschickt genugt ist, kann man versuchen den Fehler selber zu beheben, was äusserst positiv aufgenommen wird. Falls dies schon getan ist, sollte dieses kurze Dokument gelesen werden um zu erfahren, wie der Code in MPlayer integriert werden kann. Die Leute auf der mplayer-dev-eng Mailingliste können ansonsten bei Fragen helfen.

Wo sollen Fehler berichtet werden?

Tritt der mplayer-users Mailingliste bei:
    http://mplayerhq.hu/mailman/listinfo/mplayer-users
und sende deinen Fehlerbericht an:
    mplayer-users@mplayerhq.hu

Die Sprache der Liste ist Englisch. Es wird gebeten den Netiquette Richtlinien zu folgen und keine HTML Mails zu irgendeiner unserer Listen zu senden. Man wird dabei bloss ignoriert oder von der Liste verstossen. Es sei auch darauf hingewiesen, keine individuellen Kopien (CC) versandt werden. Es ist also eine gute Idee sich anzumelden, wenn man auch seine Antwort erhalten will.

Sende auf keinen Fall Fehlerberichte an individuelle Entwickler. MPlayer ist Gemeinschaftsarbeit, also wird es vielleicht mehrere interessierte Leute geben. Es kommt auch teilweise vor, dass derselbe Fehler von anderen Benutzern erlebt wurde, die bereits eine Lösung zur Umgehung des Problems haben (sogar bei einem Fehler im MPlayer Code).

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

Was soll berichtet werden?

Systeminformationen:

Hardware & Treiber:

Bei Kompilierungsfehlern/-problemen:

Bitte schicke diese Dateien mit:

Bei Wiedergabeproblemen:

Bitte gib die Ausgabe von MPlayer in Ausführlichkeits-Stufe 1, aber denk daran die Ausgabe nicht zu kürzen wenn diese dem Mail eingefügt wird. Die Entwickler benötigen alle Meldungen, um eine geignete Diagnose des Problems durchführen zu können. Die Ausgabe kann mit folgendem Befehl in eine Datei geschrieben werden:

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

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 Namen wie die Datei (+ .txt Endung), die eine Problembeschreibung zur jeweiligen Datei, die detaillierte Ausgabe (-v) von MPlayer und deine Email-Adresse enthält! Normalerweise reichen die ersten 1-5MB der Datei aus um das Problem zu reproduzieren, aber als erstes solltest du folgendes ausprobieren:

   dd if=deinedatei of=kleinedatei bs=1024k count=5
(kopiert die ersten 5 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!

Bei Abstürze:

Wenn du ein Speicherabbild (core dump) vom Absturz besitzt, lies beim nächsten Paragraph weiter, ansonsten lass ihn aus.

Wie brauchbare Informationen von einem core dump extrahiert werden können:

Bitte erzeuge die folgende Befehlsdatei (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 auf der Konsole aus:

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

Wie Informationen eines reproduzierbaren Absturzes bewahrt werden können:

Kompiliere MPlayer mit eingeschaltetem Debugging mit:
    ./configure --enable-debug=3
    make

Lass dann MPlayer mit gdb laufen:
    gdb mplayer

Du benutzt nun gdb. Gib folgendes ein:
    run -v [Optionen von mplayer] dateiname
und reproduziere deinen Absturz. Sobald du dies getan hast, wird gdb zur Eingabeaufforderung zurückkehren, wo folgendes einzugeben hast:
    bt
    disass $eip-32 $eip+32

Sende uns die gesamte Ausgabe obiger Dinge!

Allgemeine Hinweise

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

Ich weiss was ich mache...

Wenn du einen Fehlerbericht wie oben beschrieben geschreiben hast und du dir sicher bist das ein Bug in MPlayer, nicht ein Problem mit dem Kompiler oder eine defekte Datei ist kannst du auch der mplayer-advusers - Mailingliste beitreten und dort posten wenn du alle Dokumentation gelesen hast und dein Soundtreiber ok ist. Du wirst schnellere und besser Antworten erhalten.

Aber sei gewarnt: Wenn du Newbiefragen oder Fragen welche hier beantwortet werden schickst, wirst du sofort gebannt anstatt eine Antwort zu erhalten.
Also ärgere uns nicht und trette der -advusers-Liste nur bei, wenn du weisst was du machst und du dich wie ein Advanced-MPlayer-User oder Entwickler fühlst. Wenn du wirklich ein Advanced-User bist sollte es kein Problem für dich sein zu subscriben...