Appendix C - How to report bugs

How to report bugs?

First read Appendix D, and other docs. If your problem isn't known or isn't solved by our instructions, then report the bug:

Where?

Subscribe to the mplayer-users mailing list:
    http://mplayerhq.hu/mailman/listinfo/mplayer-users
and send your bugreport to:
    mplayer-users@mplayerhq.hu
We won't CC: so please subscribe!!!

Don't send bugreports private, directly to author's address!!! We are working together on code, so everyone is interested in it. BTW many times other users know the solution (system config probs, bad drivers etc), even when we think it's a bug in our code. The language of this list is ENGLISH!

Please describe your problem in details, examples etc, and don't forget to include these:

What?

1. The system info what we always want:

2. Hardware & drivers:

For compiling problems/errors

3. output of configure/make:

4. these files:

For playback problems:

3. Output of mplayer at verbose level 1 (-v)

    mplayer -v [options] filename &> mplayer.log

4. If the problem is specific to one or a few files, then please upload that file to:

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

Also upload a small .txt file with the same name as your file, describing the problem!
Usually first 1-5 MB of the file is enough to reproduce the problem, but first you should try it:

   dd if=yourfile of=smallfile bs=1k count=1024

(it will cut first 1MB of 'yourfile' and save to 'smallfile') Then try again on this small file, and if bug still exists then it's enough to upload this small file.
NEVER send such files via mail! Upload it, and send only the path/filename of the file on the FTP. If the file is accessible on the net, then sending the _exact_ URL is enough!

5. For crashes (segfault, SIGILL, signal 4 etc):

If you have coredump of the crash, see 5.a, else see 5.b:

5.a: Please print us coredump (if it was created).

Howto: please create following 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

Then simply execute following command line:

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

5.b.: run MPlayer in gdb:

Re-compile mplayer with debugging code enabled:
./configure --enable-debug
make

[at root/user shell prompt:]
    # gdb mplayer
[at gdb prompt:]
    > run -v [options-to-mplayer] filename
... (wait until it will crash)
    > bt
    > disass $eip-32 $eip+32
Send us the full output of the above things!

In general:

If something is big (logs etc) then it's better to upload to the ftp (gzipped), and include only path/filename in the bugreport!

I know what am I doing...

If you created a proper bugreport following the above steps, and you are sure it's mplayer bug, not compiler's problem or broken file, you've already readed through docs and you didn't find the solution, your sound drivers are ok, then you may want to subscribe to the mplayer-advusers list and send your bugreport there to get better and faster answer. But BE WARNED: if you post newbie or rtfm-type questions there, you'll be immediatelly banned, instead or getting answered!!! So don't flame us, subscribe -advusers only if you really know what are you doing and you feel you as advanced mplayer user or developer. (and about how to subscribe: find it out! if you're really an advanced user, it shouldn't be a problem for you...)