<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"
>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>mplayer - bugreports</title>
    <style type="text/css">
      <!--
      body { font-family: Arial, Helvetica, sans-serif; }
      -->
    </style>
  </head>

  <body>
    <h1><a name="appendix_c">Appendix C - How to report bugs</a></h1>
    <h2>How to report bugs?</h2>

    <p>
    First of all you might want to try the latest CVS as your bug
    might already be fixed there. CVS instructions can be found on 
    our homepage.
    </p>

    <p>
    If it didn't help please refer to <a
      href="documentation.html#appendix_d">Appendix D</a> and the rest of the
    documentation. If your problem is not known or not solvable by our
    instructions, then please report the bug.
    </p>

    <h2>Where to report bugs?</h2>

    <p>
    Subscribe to the mplayer-users mailing list: <br /> 
    <a href="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</a> <br /> 
    and after that you may send your bugreport to: <br /> 
    <a href="mailto:mplayer-users@mplayerhq.hu">mplayer-users@mplayerhq.hu</a> <br/> 
    Please note that we won't individually carbon-copy people so it's a
    clever idea to subscribe to actually receive your answer.
    </p>

    <p>
    Please don't send bugreports privately to individual developers.  This is
    community work and thus there might be several people interested in it.
    Also sometimes other users already experienced your troubles and have a
    solution in hand how to circumvent a problem even if it's a bug in mplayer
    code. <br />
    The language of this list is <strong>english</strong>.
    </p>

    <p>
    Please describe your problem as detailed as possible with examples etc.
    and don't forget to include this valuable information:
    </p>

    <h2>What to report?</h2>
    <h3>System information</h3>

    <ul>
      <li>Your Linux distribution or operating system e.g.:
        <ul>
          <li>Red Hat 7.1</li>
          <li>Slackware 7.0 + devel packs from 7.1 ...</li>
        </ul>
      </li>
      <li>
        kernel version:<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 and ld versions:<br />
        <code>gcc -v</code><br />
        <code>ld -v</code>
      </li>
      <li>
        binutils version:<br />
        <code>as --version</code>
      </li>
    </ul>

    <h3>Hardware &amp; drivers</h3>

    <ul>
      <li>
        CPU info (Linux only):<br />
        <code>cat /proc/cpuinfo</code>
      </li>
      <li>
        Video card manufacturer and model e.g.:<br />
        <ul>
          <li>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</li>
          <li>Matrox G400 DH 32MB SGRAM</li>
        </ul>
      </li>
      <li>
        Video driver types &amp; versions, e.g.:
        <ul>
          <li>X built-in driver</li>
          <li>nVidia 0.9.623</li>
          <li>Utah-GLX CVS 2001-02-17</li>
          <li>DRI from X 4.0.3</li>
        </ul>
      </li>
      <li>
        Sound card type &amp; driver, e.g.: <br />
        <ul>
          <li>Creative SBLive! Gold with OSS driver from oss.creative.com</li>
          <li>Creative SB16 with OSS drivers of kernel</li>
          <li>GUS PnP with ALSA OSS emulation</li>
        </ul>
      </li>
      <li>
        if in doubt include <code>lspci -vv</code> output on Linux systems
      </li>
    </ul>

    <h3>For compiling problems/errors</h3>

    <p>
      Please include these files:
    </p>
    
    <ul>
      <li>configure.log</li>
      <li>config.h</li>
      <li>config.mak</li>
      <li>libvo/config.mak</li>
    </ul>

    <h3>For playback problems</h3>
    
    <p>
      Please include the output of mplayer at verbosity level 1<br />
      <code>mplayer -v [options] filename &amp;&gt; mplayer.log</code>
    </p>

    <p>
      If your problem is specific to one or more files, then please upload the
      offender(s) to:<br />
      <a href="ftp://mplayerhq.hu/MPlayer/incoming/">ftp://mplayerhq.hu/MPlayer/incoming/</a><br />
      Also upload a small .txt file having the same basename as your file,
      which describes the problem you're having with the particular file.<br />
      Usually the first 1-5 MB of a file are enough to reproduce the problem,
      but to be on the sure side we ask you to to: <br />
      <code>dd if=yourfile of=smallfile bs=1k count=1024</code> it will take
      the  first megabyte of <strong>'yourfile'</strong> and write it to
      <strong>'smallfile'</strong>.<br />
      Then try again on this small file and if the bug still shows up 
      your sample is sufficient for us.<br />
      Please <strong>do not ever</strong> send such files via mail! Upload it,
      and send only the path/filename of the file on the FTP-server.<br />
      If the file is accessible on the net, then sending the
      <strong>exact</strong> URL is sufficient.
    </p>

    <h3>For crashes</h3>
    
    <p>
      If you have a core dump of the crash continue reading the next
      paragraph, otherwise skip it.
    </p>

    <h4>How to receive meaningful information from a core dump</h4>
    
    <p>
      Please create the following command file:
    </p>

    <pre>
      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
    </pre>

    <p>
      Then simply execute the following on your command line:<br />
      <code>gdb mplayer --core=core -batch --command=command_file &gt; mplayer.bug
      </code>
    </p>

    <h4>How to conserve information about a reproducible crash</h4>
    
    <p>
      Re-compile mplayer with debugging code enabled:<br />
      <code>./configure --enable-debug</code><br />
      <code>make</code> <br />
      and then run mplayer within gdb using:<br />
      <code>gdb mplayer</code><br />
    </p>

    <p>
      You're now within gdb<br />

      Type: <br />
      <code>run -v [options-to-mplayer] filename</code><br />
      and reproduce your crash. As soon as you did it, gdb will
      return you to the command line prompt where you'll enter<br />
      <code>bt</code><br />
      <code>disass $eip-32 $eip+32</code><br />
      and send the complete output to us.
    </p>

    <h4>General note:</h4>

    <p>
      If something is quite big (logs for instance) then it's better to upload
      it to the ftp-server in a gzipped format and include only the path and
      filename in your bugreport.
    </p>

    <h3>I know what I am doing...</h3>

    <p>
      If you created a proper bugreport following the steps above and you are
      confident it's a mplayer bug, not a compiler problem or broken file,
      you've already read the documentation and you couldn't find a solution,
      your sound drivers are ok, then you might want to subscribe to the
      mplayer-advusers list and send your bugreport there to get a better and
      faster answer.<br />
      <br /> 
      Please be advised that if you post newbie questions or questions answered
      in the manual there, you'll be ignored or flamed instead of getting an
      appropriate answer.<br />
      So don't flame us and  subscribe to -advusers only if you really know
      what you are doing and feel like being an advanced mplayer user or
      developer.  If you meet these criteria it shouldn't be difficult to find
      out how to subscribe...
    </p>
  </body>
</html>