view DOCS/de/bugreports.html @ 14929:3febdb2983e0

Clean up properly if preinit() fails.
author syrjala
date Mon, 07 Mar 2005 22:45:47 +0000
parents 883f38591d47
children 83c1acef76d5
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

<HEAD>
  <TITLE>Fehler berichten - MPlayer - The Movie Player for Linux</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY>

<H1><A NAME="appendix_b">Anhang B - Wie man einen Fehler berichtet</A></H1>

<P>Gute Fehlerberichte sind bei jedem Softwareprojekt sehr wertvolle
Beitr&auml;ge f&uuml;r die Entwicklung. Aber genauso, wie es beim Schreiben
guter Software ist, so verh&auml;lt es sich auch mit guten Fehlerberichten: sie
erfordern Arbeit. Bitte denk daran, dass die meisten Entwickler sehr
besch&auml;ftigt sind und t&auml;glich einen unglaublichen Berg Mail erhalten.
Auch wenn deine R&uuml;ckmeldungen f&uuml;r die Entwicklung von MPlayer von
entscheidender Bedeutung ist, so verstehe bitte, dass du wirklich <B>alle</B>
hier verlangten Informationen zur Verf&uuml;gung stellen und den Anweisungen
dieses Dokumentes folgen musst, damit wir dir helfen k&ouml;nnen.</P>

<H2><A NAME="fix">B.1 Wie sollen Fehler behoben werden?</A></H2>

<P>Wenn man geschickt genugt ist, kann man versuchen, den Fehler selber zu
beheben, was &auml;u&szlig;erst positiv aufgenommen wird. Falls du das schon
getan hast, solltest du <A HREF="../tech/patches.txt">dieses kurze Dokument</A>
lesen, um zu erfahren, wie der Code in MPlayer integriert werden kann.
Die Leute auf der
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</A>
Mailingliste k&ouml;nnen ansonsten bei Fragen helfen.</P>

<H2><A NAME="report">B.2 Wie sollen Fehler berichtet werden?</A></H2>

<P>Probiere es als allererstes die aktuelle CVS-Version, da dein Problem
m&ouml;glicherweise schon gel&ouml;st ist. Die Entwicklung geht extrem
schnell voran. Die meisten Probleme in offiziellen MPlayer-Versionen
werden innerhalb von Tagen oder sogar Stunden den Entwicklern mitgeteilt.
Deswegen berichte Fehler nur dann, wenn sie in der <B>aktuellen CVS-Version</B>
auch noch vorliegen. CVS-Anweisungen k&ouml;nnen am unteren Ende
<A HREF="http://www.mplayerhq.hu/homepage/dload.html">dieser Seite</A> oder im
README gefunden werden. Wenn dies nicht hilft, sollte in der
<A HREF="documentation.html#known_bugs">Liste der bekannten Fehler</A> und dem
Rest der Dokumentationen nachgesehen werden. Wenn dein Problem nicht bekannt
ist oder durch unsere Anweisungen nicht gelst werden kann, dann berichte
&uuml;ber den Fehler.</P>

<P>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 gefunden wurde, die bereits eine L&ouml;sung
zur Umgehung des Problems haben (sogar bei einem Fehler im
MPlayer-Code).</P>

<P>Bitte beschreibe dein Problem so detailiert wie m&ouml;glich. Dazu
geh&ouml;rt ein klein wenig Detektivarbeit, um die Umst&auml;nde einzuengen,
unter denen das Problem auftritt. Tritt der Fehler nur in bestimmten
Situationen auf? Ist er abh&auml;ngig von der Datei oder dem Dateityp? Tritt er
nur mit einem Codec oder mit allen auf? Tritt er mit allen Ausgabetreibern auf?
Je mehr Information zur Verf&uuml;gung gestellt werden, um so besser stehen die
Chance, dass das Problem gel&ouml;st werden wird. Es sollte nicht vergessen
werden, auch die wertvollen unten angeforderten Informationen miteinzubeziehen.
Ansonsten ist es wahrscheinlich unm&ouml;glich, eine Diagnose des Fehlers zu
erstellen.</P>

<P>Ein exzellenter und gut geschriebener F&uuml;hrer, wie Fragen in
&ouml;ffentlichen Foren gestellt werden sollen, ist  <A
HREF="http://www.tuxedo.org/~esr/faqs/smart-questions.html">How To Ask
Questions The Smart Way</A> von Eric S. Raymond. Es gibt auch einen zweiten
F&uuml;hrer namens
<A HREF="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report
Bugs Effectively</A> von
<A HREF="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</A>. Falls
du diesen Richtlinien folgst, sollte alles gut gehen. Bitte verstehe, dass wir
alle den Mailinglisten freiwillig in unserer Freizeit folgen. Wir sind sehr
besch&auml;ftigt und k&ouml;nnen nicht garantieren, dass eine L&ouml;sung oder
blo&szlig; eine Antwort zum beschriebenen Problem kommen wird.</P>

<H2><A HREF="where">B.3 Wo sollen Fehler berichtet werden?</A></H2>

<P>Tritt der mplayer-users Mailingliste bei:<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A><BR>
und sende deinen Fehlerbericht an:<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="mailto:mplayer-users@mplayerhq.hu">mplayer-users@mplayerhq.hu</A></P>

<P>Die Sprache der Liste ist <B>Englisch</B>. Es wird gebeten, den <A
HREF="http://www.ietf.org/rfc/rfc1855.txt">Netiquette-Richtlinien</A> zu folgen
und <B>keine HTML-Mails</B> zu irgendeiner unserer Listen zu senden. Man wird
dabei bloss ignoriert oder von der Liste versto&szlig;en. Falls du nicht
wei&szlig;t, was eine HTML-Mail ist, oder warum sie b&ouml;se ist, dann lies <A
HREF="http://expita.com/nomime.html">dieses gute Dokument</A>. Es erkl&auml;rt
alle Details und enth&auml;lt Anweisungen, wie man HTML f&uuml;r Mails
ausschaltet. Bitte denk auch daran,  keine individuellen Kopien (CC) an
einzelne Personen zu versenden. Es ist also eine gute Idee, sich an der Liste
anzumelden, wenn man auch seine Antwort erhalten will.</P>

<H2><A HREF="what">B.4 Was soll berichtet werden?</A></H2>

<P>Du wirst wahrscheinlich Logdateien, Konfigurationsinformationen und
Beispieldateien in deinen Fehlerbericht aufnehmen m&uuml;ssen. Wenn einige
von ihnen ziemlich gro&szlig; werden, so ist es besser, wenn du sie auf unseren
<A HREF="ftp://mplayerhq.hu/MPlayer/incoming/">FTP-Server</A> hochl&auml;dst
und sie vorher komprimierst (bitte mit <CODE>gzip</CODE> oder
<CODE>bzip2</CODE>). Gib dann in deinem Fehlerbericht nur den Pfad- und
Dateinamen an. Unsere Mailinglisten haben eine
Gr&ouml;&szlig;enbeschr&auml;nkung auf 80k, sodass du gr&ouml;&szlig;ere
Sachen definitiv komprimieren und hochladen musst.</P>

<H3><A NAME="system">B.4.1 Systeminformationen</A></H3>

<UL>
  <LI>Deine Linux-Distribution oder Betriebssystem und die Versionsnummer:
    <UL>
      <LI>RedHat 7.1</LI>
      <LI>Slackware 7.0 + Development-Pakete von 7.1 ...</LI>
    </UL>
  </LI>
  <LI>Kernelversion:<BR>
    <CODE>uname -a</CODE></LI>
  <LI>libc-Version:<BR>
    <CODE>ls -l /lib/libc[.-]*</CODE></LI>
  <LI>X-Version:<BR>
    <CODE>X -version</CODE></LI>
  <LI>gcc- und ld-Versionen:<BR>
    <CODE>gcc -v<BR>
    ld -v</CODE></LI>
  <LI>binutils-Version:<BR>
    <CODE>as --version</CODE></LI>
  <LI>Wenn du Pobleme mit dem Vollbildmodus hast:
    <UL>
      <LI>Window-manager-Typ und -Version</LI>
    </UL>
  </LI>
  <LI>Bei Problemen mit XVIDIX:
    <UL>
      <LI>X-Farbtiefe:<BR>
          <CODE>xdpyinfo | grep "depth of root"</CODE></LI>
    </UL>
  </LI>
  <LI>Falls nur das GUI einen Fehler enth&auml;lt:
    <UL>
      <LI>GTK-Version</LI>
      <LI>GLIB-Version</LI>
      <LI>libpng-Version</LI>
      <LI>Zustand des GUIs, in dem der Fehler auftritt</LI>
    </UL>
  </LI>
</UL>

<H3><A NAME="hardware">B.4.2 Hardware und Treiber</A></H3>

<UL>
  <LI>CPU-Infos (dies funktioniert nur mit Linux):<BR>
    <CODE>cat /proc/cpuinfo</CODE></LI>
  <LI>Grafikkartenhersteller und Modell:
    <UL>
      <LI>ASUS V3800U, Chipset: nVidia TNT2 Ultra Pro 32MB SDRAM</LI>
      <LI>Matrox G400 DH 32MB SGRAM</LI>
    </UL>
  </LI>
  <LI>Grafikkartentreiber-Typ &amp; -Version:
    <UL>
      <LI>X eigener Treiber</LI>
      <LI>nVidia 0.9.623</LI>
      <LI>Utah-GLX CVS 2001-02-17</LI>
      <LI>DRI von X 4.0.3</LI>
    </UL>
  </LI>
  <LI>Soundkartentyp und -Treiber:
    <UL>
      <LI>Creative SBLive! Gold mit OSS-Treiber von oss.creative.com</LI>
      <LI>Creative SB16 mit OSS-Treiber des Kernels</LI>
      <LI>GUS PnP mit ALSA-OSS-Emulation</LI>
    </UL>
  </LI>
  <LI>Wenn du unsicher bist, solltest du die Ausgabe von <CODE>lspci -vv</CODE>
    mitschicken (auf Linux-Systemen).</LI>
</UL>

<H3><A NAME="compilation">B.4.3 Bei Fehlern bei <CODE>configure</CODE></A></H3>

<P>Wenn du Fehlermeldungen beim Aufruf von <CODE>./configure</CODE> bekommst
oder einige Sachen nicht automatisch richtig erkannt werden, so lies
<CODE>configure.log</CODE>. Eventuell findest du dort die Antwort, z.B. wenn
verschiedene Versionen einer Bibliothek auf deinem System gemischt rumliegen,
oder wenn du vergessen hast, das Entwicklungspaket zu installieren
(das sind die, die auf -dev oder -devel enden).</P>


<H3><A NAME="compilation">B.4.4 Bei Fehlern w&auml;hrend des
&Uuml;bersetzens</A></H3>

Bitte schicke diese Dateien mit:

<UL>
  <LI><CODE>config.h</CODE></LI>
  <LI><CODE>config.mak</CODE></LI>
</UL>

Nur wenn die Compilierung in einem der unten genannten Verzeichnisse
fehlschl&auml;gt, f&uuml;ge diese Datein an:
<UL>
  <LI><CODE>Gui/config.mak</CODE></LI>
  <LI><CODE>libvo/config.mak</CODE></LI>
  <LI><CODE>libao2/config.mak</CODE></LI>
</UL>

<H3><A NAME="playback">B.4.5 Bei Wiedergabeproblemen</A></H3>

<P>Bitte f&uuml;ge die Ausgabe von MPlayer in Ausführlichkeits-Stufe 1
bei, aber denk daran <B>die Ausgabe nicht zu kürzen</B>, wenn diese der Mail
eingef&uuml;gt wird. Die Entwickler ben&ouml;tigen alle Meldungen, um eine
geignete Diagnose des Problems durchf&uuml;hren zu k&ouml;nnen. Die Ausgabe
kann mit folgendem Befehl in eine Datei geschrieben werden:</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -v [Optionen] [Dateiname]
&gt; mplayer.log 2&gt;&amp;1</CODE></P>
  
<P>Wenn das Problem nur bei einer oder einigen wenigen Dateien auftritt, dann
lade die Datei bitte auf
<A HREF="ftp://mplayerhq.hu/MPlayer/incoming/">
ftp://mplayerhq.hu/MPlayer/incoming/</A></P> hoch.</P>

<P>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&auml;lt. Normalerweise reichen die ersten 1-5MB der Datei aus, um das
Problem zu reproduzieren, aber als erstes solltest du folgendes
ausprobieren:</P>

<P><CODE>&nbsp;&nbsp;&nbsp;dd if=deinedatei of=kleinedatei bs=1024k
count=5</CODE></P>

<P>Das kopiert die ersten 5 MB von <STRONG>'deinedatei'</STRONG> in die Datei
<STRONG>'kleinedatei'</STRONG>. Nun versuche es nochmals mit dieser kleinen
Datei. Wenn der Fehler immer noch auftritt, dann reicht es, die kleine Datei
hochzuladen.<BR> Sende <STRONG>NIE</STRONG> solche Dateien via Mail! Lade sie
herauf und schicke nur den Pfad/Dateinamen der Datei auf dem FTP Server. Wenn
die Datei im Internet bereits verf&uuml;gbar ist, so reicht die
<STRONG>exakte</STRONG> URL aus.</P>

<H3><A NAME="crash">B.4.6 Bei Abst&uuml;rzen</A></H3>

<P>Du musst MPlayer aus <CODE>gdb</CODE> heraus aufrufen und uns
die vollst&auml;ndige Ausgabe schicken. Wenn du einen core dump hast, dann
kannst du auch aus der <CODE>core</CODE>-Datei n&uuml;tzliche Informationen
extrahieren. So geht's:</P>

<H4><A NAME="debug">B.4.6.1 Wie man Informationen bei einem reproduzierbaren
Absturz bewahrt</A></H4>

Kompiliere MPlayer mit eingeschaltetem Debugging:

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;./configure --enable-debug=3<BR>
  &nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>

Starte nun gdb mit MPlayer:

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;gdb ./mplayer</CODE></P>

Du bist nun in gdb. Gib folgendes ein:

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;run -v [options-to-mplayer]
filename</code></P>

und reproduziere deinen Absturz. Sobald er auftritt, wird gdb zur
Eingabeaufforderung zur&uuml;ckkehren, bei der du

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;bt<BR>
  &nbsp;&nbsp;&nbsp;&nbsp;disass $pc-32 $pc+32<BR>
  &nbsp;&nbsp;&nbsp;&nbsp;info all-registers</CODE></P>

eingibst.

<H4><A NAME="core">B.4.6.2 Wie man brauchbare Informationen von einem core
dump extrahiert</A></H4>


<P>Bitte erzeuge die folgende Befehlsdatei (Command File):</P>

<P><CODE>disass $pc-32 $pc+32<BR>
  info all-registers</CODE></P>

<P>Dann f&uuml;hre einfach den folgenden Befehl auf der Konsole aus:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>gdb mplayer --core=core -batch
--command=command_file &gt; mplayer.bug</CODE></P>

<H2><A NAME="advusers">B.5 Ich wei&szlig;, was ich tue...</A></H2>

<P>Wenn du einen Fehlerbericht wie oben beschrieben geschreiben hast und du dir
sicher bist, dass es ein Bug in MPlayer und nicht ein Problem mit dem
Compiler oder eine defekte Datei ist, dann kannst du auch der
mplayer-advusers-Mailingliste beitreten und dort posten, wenn du alle
Dokumentation gelesen hast und dein Soundtreiber ok ist. Du wirst dort
schnellere und besser Antworten erhalten.<BR><BR> Aber sei gewarnt: Wenn du
Newbiefragen oder Fragen stellst, die in dieser Anleitung bereits beantwortet
werden, wirst du ignoriert oder angemeckert,  anstatt eine Antwort zu
erhalten.<BR> Also &auml;rgere uns nicht und trette der -advusers-Liste nur
bei, wenn du wei&szlig;t, was du machst und  du dich wie ein erfahrener
MPlayer-Benutzer oder -Entwickler f&uuml;hlst. Wenn du wirklich ein
erfahrener Benutzer  bist sollte es kein Problem f&uuml;r dich sein, dich
anzumelden...</P>

</BODY>
</HTML>