mpv/DOCS/xml/de/bugreports.xml

437 lines
18 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- in sync with revision 1.15 $ -->
<appendix id="bugreports">
<title>Wie Fehler (Bugs) berichtet werden</title>
<para>
Gute Fehlerberichte sind ein sehr wertvoller Beitrag zur Entwicklung jedes
Softwareprojekts. Aber genau wie das Schreiben guter Software ben<65>tigt das
Anfertigen von Berichten <20>ber Probleme etwas Arbeit. Bitte sei dir dar<61>ber im
klaren, dass die meisten Entwickler sehr besch<63>ftigt sind und eine unversch<63>mt
hohe Anzahl Mails bekommen. Verstehe daher, dass du, obwohl dein Feedback f<>r die
Verbesserung von <application>MPlayer</application> sehr wichtig ist und gesch<63>tzt
wird, <emphasis role="bold">alle</emphasis> Informationen, die wir fordern, zur
Verf<EFBFBD>gung stellen und die Anweisungen dieses Dokuments strikt befolgen musst.
</para>
<sect1 id="bugreports_security">
<title>Berichte sicherheitsrelevante Fehler</title>
<para>
Im Falle, dass du einen Exploit-f<>higen Fehler gefunden hast und gern das richtige tun
m<EFBFBD>chtest und uns diesen beseitigen l<>sst, bevor du ihn ver<65>ffentlichst, w<>rden wir uns
freuen, deinen Rat zur Sicherheit unter
<ulink url="mailto:&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;">&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;</ulink>
zu erhalten.
F<EFBFBD>ge dem Betreff bitte [SECURITY] oder [ADVISORY] hinzu.
Stelle bitte sicher, dass dein Bericht eine vollst<73>ndige und detaillierte Analyse des Fehlers enth<74>lt.
Einsendung einer L<>sung wird sehr dankend angenommen.
Bitte verz<72>gere deinen Bericht nicht, um einen Proof-of-concept-Exploit zu schreiben, den
kannst du in einer weiteren Mail schicken.
</para>
</sect1>
<sect1 id="bugreports_fix">
<title>Wie Fehler beseitigt werden</title>
<para>
Wenn du das Gef<65>hl hast, dass du die n<>tigen Kenntnisse hast, bist du dazu eingeladen,
dich selbst an der L<>sung des Fehlers zu versuchen. Vielleicht hast du das schon?
Bitte lies
<ulink url="../../tech/patches.txt">dieses kurze Dokument</ulink>, um herauszufinden,
wie dein Code Teil von <application>MPlayer</application> werden kann. Die Leute der
Mailing-Liste
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
werden dir zur Seite stehen, wenn du Fragen hast.
</para>
</sect1>
<sect1 id="bugreports_regression_test">
<title>Wie Regressionstests mit CVS durchgef<65>hrt werden</title>
<para>
Ein Problem, das manchmal auftreten kann ist "es hat vorher funktioniert, jetzt nicht
mehr...".
Hier ist eine Schritt-f<>r-Schritt-Prozedur, um herauszufinden, wann das Problem
aufgetreten ist. Dies ist <emphasis role="bold">nicht</emphasis> f<>r gelegentliche Benutzer.
</para>
<para>
Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem CVS besorgen.
Eine Anleitung hierzu kann unten auf
<ulink url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink>
gefunden werden.
</para>
<para>
Du wirst dann im main/-Verzeichnis ein Abbild des CVS-Baums auf der Client-Seite
haben.
F<EFBFBD>hre jetzt ein Update f<>r dieses Abbild durch auf das Datum, das du m<>chtest:
<screen>
cd main/
cvs update -PAd -D "2004-08-23"
</screen>
Das Datumsformat ist YYYY-MM-DD HH:MM:SS.
Die Benutzung des Datumsformats stellt sicher, dass du in der Lage sein wirst,
Patches anhand des Datums, an dem sie eingespielt wurden, extrahieren kannst, wie im
<ulink url="http://mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog-Archiv</ulink>.
</para>
<para>
Gehe nun vor wie bei einem normalen Update:
<screen>
./configure
make
</screen>
</para>
<para>
Falls ein Nicht-Programmierer dies liest: Der schnellste Weg, an den Punkt zu
gelangen, wo das Problem auftrat ist eine Bin<69>rsuche &mdash; das bedeutet:
Suche das Datum der Bruchstelle, indem du das Suchintervall wiederholt halbierst.
Zum Beispiel, wenn das Problem 2003 auftrat, starte in der Mitte des Jahres und
frage "Ist das Problem schon da?".
Wenn ja, gehe zur<75>ck zum 1. April; wenn nicht, gehe zum 1. Oktober und so weiter.
</para>
<para>
Wenn du viel Festplattenspeicher frei hast (eine vollst<73>ndige Compilierung
ben<EFBFBD>tigt momentan 100 MB, und ungef<65>hr 300-350 MB, wenn Debugging-Symbole mit
dabei sind), kopiere vor einem Update die <20>lteste Version, von der bekannt ist,
dass sie funktioniert; das spart Zeit, wenn du zur<75>ckgehen musst.
(Es ist normalerweise nicht n<>tig, 'make distclean' vor einer erneuten Compilierung
einer fr<66>heren Version auszuf<75>hren. Wenn du also keine Backup-Kopie deines
Original-Sourcebaums machst, wirst du alles neu compilieren m<>ssen, wenn du beim
gegenw<EFBFBD>rtigen wieder angekommen bist.)
</para>
<para>
Wenn du den Tag gefunden hast, an dem das Problem auftrat, fahre mit der Suche mit
dem mplayer-cvslog-Archiv (sortiert nach Datum) und einem genaueren cvs update,
welches Stunde, Minute und Sekunde beinhaltet, fort:
<screen>
cvs update -PAd -D "2004-08-23 15:17:25"
</screen>
Dies wird dir erlauben, den genauen verursachenden Patch leicht zu finden.
</para>
<para>
Wenn du den Patch gefunden hast, der Ursache des Problems ist, hast du fast gewonnen;
Berichte dar<61>ber im
<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>-System oder melde
dich bei
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
an schicke es dort ein.
Es gibt eine Chance, dass der Autor einspringt und eine L<>sung vorschl<68>gt.
Du kannst auch einen genauen Blick auf den Patch werden, bis er gen<65>tigt ist,
zu offenbaren, wo der Fehler ist :-).
</para>
</sect1>
<sect1 id="bugreports_report">
<title>Wie Fehler berichtet werden</title>
<para>
Probiere vor allem zu allererst die letzte CVS-Version von <application>MPlayer</application>,
da dein Problem dort m<>glicherweise schon behoben ist. Die Entwicklung geht extrem schnell
voran, die meisten Probleme in offiziellen Versionen werden innerhalb von Tagen oder sogar
Stunden den Entwicklern mitgeteilt. Benutze daher bitte <emphasis role="bold">nur
CVS</emphasis> beim Berichten von Fehlern. Dies gilt auch f<>r Bin<69>rpakete von
<application>MPlayer</application>. CVS-Anweisungen findest du am unteren Ende <ulink
url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink> oder in der README.
Wenn dies nicht hilft, ziehe die Liste <link linkend="bugs">bekannter Fehler</link> und den
Rest der Dokumentation zurate. Wenn dein Problem nicht bekannt ist oder durch unsere
Anweisungen nicht gel<65>st werden kann, dann teile uns den Fehler mit.
</para>
<para>
Sende bitte keine Fehlerberichte privat 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 gefunden wurde,
die bereits eine L<>sung zur Umgehung des Problems haben, auch wenn es sich um einen
Fehler im <application>MPlayer</application>-Code handelt.
</para>
<para>
Bitte beschreibe dein Problem so detailliert wie m<>glich. Dazu geh<65>rt ein klein
wenig Detektivarbeit, um die Umst<73>nde einzuengen, unter denen das Problem auftritt.
Tritt der Fehler nur in bestimmten Situationen auf? Ist er abh<62>ngig von Dateien oder
Dateitypen? Tritt er nur bei einem Codec auf oder ist er davon unabh<62>ngig? Kannst
du den Fehler mit allen Ausgabetreibern reproduzieren? Je mehr Informationen du zur
Verf<EFBFBD>gung stellst, desto besser sind die Chancen, dass das Problem gel<65>st wird.
Bitte vergiss nicht, auch die unten angeforderten wertvollen Informationen miteinzubeziehen.
Ansonsten sind wir vermutlich nicht in der Lage, das Problem genau zu untersuchen.
</para>
<para>
Ein exzellenter und gut geschriebener F<>hrer, wie Fragen in <20>ffentlichen Foren
gestellt werden sollen, ist
<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions
The Smart Way</ulink> von <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
Es gibt noch einen mit dem Namen
<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report
Bugs Effectively</ulink> von <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon
Tatham</ulink>.
Wenn du diese Richtlinien befolgst, solltest du Hilfe bekommen k<>nnen. Bitte verstehe aber,
dass wir alle den Mailinglisten freiwillig in unserer Freizeit folgen. Wir sind sehr
besch<EFBFBD>ftigt und k<>nnen nicht garantieren, dass du eine L<>sung oder auch nur eine Antwort zu
deinem Problem erh<72>ltst.
</para>
</sect1>
<sect1 id="bugreports_where">
<title>Wo Fehler berichtet werden sollen</title>
<para>
Melde dich bei der Mailingliste MPlayer-users an:
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-users"/>
und sende deinen Fehlerbericht an
<ulink url="mailto:mplayer-users@mplayerhq.hu"/>, wo dieser diskutiert werden kann.
</para>
<para>
Wenn du es bevorzugst, kannst du statt dessen auch unseren brandneuen
<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink> verwenden.
</para>
<para>
Die Sprache der Liste ist <emphasis role="bold">Englisch</emphasis>. Bitte
befolge die Standard-
<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Netiquette-Richtlinien</ulink>
und <emphasis role="bold">sende keine HTML-Mails</emphasis> an eine unserer
Mailinglisten. Du wirst ignoriert oder ausgeschlossen werden. Wenn du nicht
wei<EFBFBD>t, was eine HTML-Mail ist oder warum sie b<>se ist, lies dieses
<ulink url="http://expita.com/nomime.html">feine Dokument</ulink>. Es erkl<6B>rt
alle Details und beinhaltet Instruktionen, wie man HTML abschalten kann. Beachte
auch, dass wir keine Kopien (CC, carbon-copy) verschicken. Es ist daher eine
gute Sache, sich anzumelden, um auch wirklich deine Antwort zu erhalten.
</para>
</sect1>
<sect1 id="bugreports_what">
<title>Was berichtet werden soll</title>
<para>
Du wirst wahrscheinlich Logdateien, Konfigurationsinformationen und Beispieldateien
in deinen Fehlerbericht aufnehmen m<>ssen. Wenn einige von ihnen ziemlich gro<72>
werden, ist es besser, wenn du sie auf unseren
<ulink url="ftp://mplayerhq.hu/MPlayer/incoming/">FTP-Server</ulink> hochl<68>dst,
und zwar in komprimierter Form (gzip und bzip2 bevorzugt). Gib dann in deinem
Fehlerbericht nur den Pfad- und den Dateinamen an. Unsere Mailinglisten haben ein
Nachrichten-Gr<47><72>enlimit von 80k, wenn du etwas gr<67><72>eres hast, musst du es
komprimieren und hochladen.
</para>
<sect2 id="bugreports_system">
<title>Systeminformationen</title>
<para>
<itemizedlist>
<listitem><para>
Deine Linuxdistribution, Betriebssystem und Version, z.B.:
<itemizedlist>
<listitem><para>Red Hat 7.1</para></listitem>
<listitem><para>Slackware 7.0 + Entwicklerpakete von 7.1 ...</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
Kernelversion:
<screen>uname -a</screen>
</para></listitem>
<listitem><para>
libc-Version:
<screen>ls -l /lib/libc[.-]*</screen>
</para></listitem>
<listitem><para>
gcc- und ld-Versionen:
<screen>
gcc -v
ld -v
</screen>
</para></listitem>
<listitem><para>
binutils-Version:
<screen>
as --version
</screen>
</para></listitem>
<listitem><para>
Wenn du Probleme mit dem Vollbildmodus hast:
<itemizedlist>
<listitem><para>Window-Manager-Typ und Version</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
Wenn du Probleme mit XVIDIX hast:
<itemizedlist>
<listitem><para>Farbtiefe von X:
<screen>xdpyinfo | grep &quot;depth of root&quot;</screen>
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
Wenn nur die GUI fehlerhaft ist:
<itemizedlist>
<listitem><para>GTK-Version</para></listitem>
<listitem><para>GLIB-Version</para></listitem>
<listitem><para>libpng-Version</para></listitem>
<listitem><para>GUI-Situation, in der der Fehler auftritt</para></listitem>
</itemizedlist>
</para></listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="bugreports_hardware">
<title>Hardware und Treiber</title>
<para>
<itemizedlist>
<listitem><para>
CPU-Info (funktioniert nur unter Linux):
<screen>cat /proc/cpuinfo</screen>
</para></listitem>
<listitem><para>
Videokartenhersteller und Modell, z.B.:
<itemizedlist>
<listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
<listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
Videotreibertyp &amp; -version, .z.B.:
<itemizedlist>
<listitem><para>eingebauter Treiber von X</para></listitem>
<listitem><para>nVidia 0.9.623</para></listitem>
<listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
<listitem><para>DRI von X 4.0.3</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
Soundkartentyp &amp; -treiber, z.B.:
<itemizedlist>
<listitem><para>Creative SBLive! Gold mit OSS-Treiber von oss.creative.com</para></listitem>
<listitem><para>Creative SB16 mit Kernel-OSS-Treibern</para></listitem>
<listitem><para>GUS PnP mit OSS-Emulation von ALSA</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
F<EFBFBD>ge bei Linuxsystemen im Zweifel die Ausgabe von <command>lspci -vv</command> bei.
</para></listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="bugreports_configure">
<title>Configure-Probleme</title>
<para>
Wenn du Fehlermeldungen beim Aufruf von <command>./configure</command> bekommst oder
die automatische Erkennung von etwas fehlschl<68>gt, so lies <filename>configure.log</filename>.
Du k<>nntest dort die Antwort finden, zum Beispiel mehrere Versionen derselben Bibliothek,
die gemischt auf deinem System vorliegen, oder du hast vergessen, das Entwicklerpaket
(die mit dem Suffix -dev) zu installieren. Wenn du denkst, dass es sich um einen
Fehler handelt, binde <filename>configure.log</filename> in deinen Fehlerbericht ein.
</para>
</sect2>
<sect2 id="bugreports_compilation">
<title>Compilierungsprobleme</title>
<para>
Bitte f<>ge diese Dateien an:
<itemizedlist>
<listitem><para>config.h</para></listitem>
<listitem><para>config.mak</para></listitem>
</itemizedlist>
Nur wenn die Compilierung unter einem dieser Verzeichnisse fehlschl<68>gt, f<>ge
die folgenden Dateien an:
<itemizedlist>
<listitem><para>Gui/config.mak</para></listitem>
<listitem><para>libvo/config.mak</para></listitem>
<listitem><para>libao2/config.mak</para></listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="bugreports_playback">
<title>Wiedergabeprobleme</title>
<para>
Bitte f<>ge die Ausgabe von <application>MPlayer</application> im ausf<73>hrlichen Modus
bei Level 1 an, denke aber daran, <emphasis role="bold">die Ausgabe nicht zu k<>rzen</emphasis>,
wenn du sie in deine Mail einf<6E>gst. Die Entwickler ben<65>tigen alle Ausgaben, um das Problem
angemessen zu untersuchen. Du kannst die Ausgabe folgenderma<6D>en in eine Datei ausgeben:
<screen>mplayer -v <replaceable>Optionen</replaceable> <replaceable>Dateiname</replaceable> &gt; mplayer.log 2&gt;&amp;1</screen>
</para>
<para>
Wenn dein Problem speziell mit einer oder mehreren Dateien zu tun hat, lade diese bitte hoch nach:
<ulink url="ftp://mplayerhq.hu/MPlayer/incoming/"/>
</para>
<para>
Lade bitte auch eine kleine Textdatei hoch, die denselben Basisnamen wie deine Datei
hat, mit der Erweiterung .txt. Beschreibe dort das Problem, das du mit dieser speziellen
Datei hast und gib sowohl deine Emailadresse als auch die Ausgabe von
<application>MPlayer</application> im ausf<73>hrlichen Modus bei Level 1 an. Normalerweise
reichen die ersten 1-5 MB einer Datei aus, um das Problem zu reproduzieren. Um ganz sicher
zu gehen, bitten wir dich, folgendes zu tun:
<screen>dd if=<replaceable>deinedatei</replaceable> of=<replaceable>kleinedatei</replaceable> bs=1024k count=5</screen>
Dies wird die ersten f<>nf Megabyte von '<emphasis role="bold">deine-datei</emphasis>' nehmen
und nach '<emphasis role="bold">kleine-datei</emphasis>' schreiben. Probiere es dann erneut
mit dieser kleinen Datei, und wenn der Fehler noch immer auftritt, ist dieses Beispiel f<>r uns
ausreichend.
Bitte sende <emphasis role="bold">niemals</emphasis> solche Dateien via Mail!
Lade sie hoch und schicke nur den Pfad/Dateinamen der Datei auf dem FTP-Server. Wenn
die Datei im Netz verf<72>gbar ist, reicht es, die <emphasis role="bold">exakte</emphasis>
URL zu schicken.
</para>
</sect2>
<sect2 id="bugreports_crash">
<title>Abst<EFBFBD>rze</title>
<para>
Du musst <application>MPlayer</application> in <command>gdb</command> aufrufen und
uns die komplette Ausgabe schicken, oder, wenn du ein <filename>core</filename>-Dump
des Absturzes hast, kannst du n<>tzliche Informationen von der Core-Datei extrahieren,
und zwar folgenderma<6D>en:
</para>
<sect3 id="bugreports_debug">
<title>Wie man Informationen eines reproduzierbaren Absturzes erh<72>lt</title>
<para>
Compiliere <application>MPlayer</application> neu mit Debugging-Code aktiviert:
<screen>
./configure --enable-debug=3
make
</screen>
und rufe dann <application>MPlayer</application> innerhalb gdb auf mit:
<screen>gdb ./mplayer</screen>
Du befindest dich nun innerhalb gdb. Gib ein:
<screen>run -v <replaceable>Optionen-an-mplayer</replaceable> <replaceable>Dateiname</replaceable></screen>
und reproduziere den Absturz. Sobald du das getan hast, wird gdb zur Eingabeaufforderung
zur<EFBFBD>ckkehren, wo du folgendes eingeben musst:
<screen>
bt
disass $pc-32 $pc+32
info all-registers
</screen>
</para>
</sect3>
<sect3 id="bugreports_core">
<title>Wie man aussagekr<6B>ftige Informationen von einem Core-Dump extrahiert</title>
<para>
Erzeuge die folgende Kommando-Datei:
<screen>
bt
disass $pc-32 $pc+32
info all-registers
</screen>
F<EFBFBD>hre dann einfach folgendes Kommando aus:
<screen>gdb mplayer --core=core -batch --command=<replaceable>Kommando_Datei</replaceable> &gt; mplayer.bug</screen>
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="bugreports_advusers">
<title>Ich wei<65>, was ich tue...</title>
<para>
Wenn du einen Fehlerbericht wie oben beschrieben geschrieben hast und du dir sicher
bist, dass es ein Bug in <application>MPlayer</application> und nicht ein Problem mit dem
Compiler oder eine defekte Datei ist, du die Dokumentation gelesen hast und keine L<>sungen
finden konntest und deine Soundtreiber OK sind, dann kannst du auch der
mplayer-advusers-Mailingliste beitreten und dort deine Fehlerberichte einsenden. Du wirst dort
schnellere und besser Antworten erhalten.
</para>
<para>
Aber sei gewarnt: Wenn du Anf<6E>ngerfragen oder Fragen stellst, die in dieser Anleitung
bereits beantwortet werden, wirst du ignoriert oder angemeckert, anstatt eine Antwort
zu erhalten. Also <20>rgere uns nicht und trete der -advusers-Liste nur bei, wenn du wei<65>t,
was du machst und du dich f<>r einen erfahrenen MPlayer-Benutzer oder -Entwickler h<>ltst.
Wenn du diese Kriterien erf<72>llst, sollte es kein Problem f<>r dich sein, dich anzumelden...
</para>
</sect1>
</appendix>