# How to report bugs

Good bug reports are a very valuable contribution to the development of any software project. But just like writing good software, good problem reports involve some work. Please realize that most developers are extremely busy and receive obscene amounts of email. So while your feedback is crucial in improving MPlayer and very much appreciated, please understand that you have to provide all of the information we request and follow the instructions in this document closely.

## Report security related bugs

In case you have found an exploitable bug and you would like to do the right thing and let us fix it before you disclose it, we would be happy to get your security advisory at security@mplayerhq.hu. Please add [SECURITY] or [ADVISORY] in the subject. Be sure that your report contains complete and detailed analysis of the bug. Sending a fix is highly appreciated. Please don't delay your report to write proof-of-concept exploit, you can send that one with another mail.

## How to fix bugs

OUTDATED CONTENT REMOVED

## How to do regression testing using Subversion

OUTDATED CONTENT REMOVED

## How to report bugs

OUTDATED CONTENT REMOVED

## Where to report bugs

OUTDATED CONTENT REMOVED

The language of this list is English. Please follow the standard Netiquette Guidelines and do not send HTML mail to any of our mailing lists. You will only get ignored or banned. If you do not know what HTML mail is or why it is evil, read this fine document. It explains all the details and has instructions for turning HTML off. Also note that we will not individually CC (carbon-copy) people so it is a good idea to subscribe to actually receive your answer.

## What to report

OUTDATED CONTENT REMOVED

### System Information

OUTDATED CONTENT REMOVED

### Hardware and drivers

OUTDATED CONTENT REMOVED

### Configure problems

If you get errors while running `./configure`, or autodetection of something fails, read `config.log`. You may find the answer there, for example multiple versions of the same library mixed on your system, or you forgot to install the development package (those with the -dev suffix). If you think there is a bug, include `config.log` in your bug report.

### Compilation problems

Please include these files:

- config.h

- config.mak

### Playback problems

Please include the output of MPlayer at verbosity level 1, but remember to not truncate the output when you paste it into your mail. The developers need all of the messages to properly diagnose a problem. You can direct the output into a file like this:

    mplayer -v options filename > mplayer.log 2>&1

If your problem is specific to one or more files, then please upload the offender(s) to:

Also upload a small text file having the same base name as your file with a .txt extension. Describe the problem you are having with the particular file there and include your email address as well as the output of MPlayer at verbosity level 1. Usually the first 1-5 MB of a file are enough to reproduce the problem, but to be sure we ask you to:

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

It will take the first five megabytes of 'your-file' and write it to 'small-file'. Then try again on this small file and if the bug still shows up your sample is sufficient for us. Please do not ever send such files via mail! Upload it, and send only the path/filename of the file on the FTP-server. If the file is accessible on the net, then sending the exact URL is sufficient.

### Crashes

You have to run MPlayer inside `gdb` and send us the complete output or if you have a `core` dump of the crash you can extract useful information from the Core file. Here's how:

#### How to conserve information about a reproducible crash

Recompile MPlayer with debugging code enabled:

    ./configure --enable-debug=3
    make

and then run MPlayer within gdb using:

    gdb ./mplayer

You are now within gdb. Type:

    run -v options-to-mplayer filename

and reproduce your crash. As soon as you did it, gdb will return you to the command line prompt where you have to enter

    bt
    disass $pc-32 $pc+32
    info all-registers

#### How to extract meaningful information from a core dump

Create the following command file:

    bt
    disass $pc-32 $pc+32
    info all-registers

Then simply execute this command:

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