HOW-TO:Submit a proper bug report

So, you think you've found a bug? Great! Thanks for being proactive enough to make it this far. If you want to ensure that your report gets attention from the right people it is paramount that you answer the following questions. Please read this document in its entirety before continuing on your adventure.

=Has the bug been reported already?= Duplicate bug reports only clutter the communications channels with the developers. Keeping the discussion in one place not only makes the topic easy to follow but centralizes all details for easier review. Before posting your bug report, it is important to ensure that you haven't been beat to it. There are two places to look, the XBMC Forum and Bug Tracker. Both have a search button. Please use it! If you find a thread on the forum or ticket on the bug tracker, please read through it and add any new information that you can provide. "Me too" and "bump" posts don't really help the matter without additional details, so please refrain.

=Ok, so my bug is new. Now what?= Now that you have made sure that your problem is unique, it is time to open a dialog with the community. Where to do this is a question of your certainty that the problem is in fact a bug. Keep in mind that reporting the bug puts some responsibility on you to answer any questions a developer may have. You may want to consider "subscribing" to your forum thread (you'll be CC'd updates automatically by the bug tracker) and ensure that your registered email is one that you keep track of!

Yes! This must be a bug!
If you are sure that you're dealing with a bug, (crash, hang, failed playback, corruption, etc) please go straight to the Bug Tracker and create a new ticket. Be sure to fill in as many of the fields in the form as possible, use your best judgment.

Hrm...I think this is a bug...
If the problem is more one of behavior you didn't expect, please start in the forums first. XBMC has many features, with these features comes design decisions. It is very possible that the behavior you expect is not that which the developer envisioned. There is also a possibility that the feature is very complicated at the code level and that the behavior you expect would be very difficult or impossible to create. Regardless, bouncing your ideas off of forum users (most developers are forums users too!) to confirm and clarify before opening a ticket on the Bug Tracker. You may be opening a feature request instead! ;)

=Right, so what "information" do you guys need?= Regardless of where you're posting your report, if you expect someone to take interest in it, they will expect details from you. Don't forget, we're doing this stuff in our free time, too! Post as much of this stuff as you can upfront. We'd rather spend our time fixing problems than digging for details. If you need further help obtaining something, feel free to ask (then come back and update the wiki!).

Debug Log
A debug log is essential to any and all bug reports. Without it your report stands a good chance of being overlooked. It provides nearly all off the information about what was going on and what you were doing in the application. The log file also contains some of the details you'll need to fill out a new ticket on the Bug Tracker. So it might pay to glance through it yourself.

Detailed Instructions To Reproduce
To actually solve your problem, we need to be able to reproduce it. The more descriptive the instructions, the better chances are that they'll work for others. Sit down and reproduce the problem a few times, first, to make sure you understand it. If the problem is "random," enable debugging during normal use. Restart the application often to keep the log file short. The more time you spend isolating the problem, the quicker a developer will be able to reproduce and fix it. Please take your time with this step!

Sample File
If your problem has to do with playback of video, audio or subtitles, or display of a picture a sample file will go far in getting it fixed. The file should be as small as possible while still reproducing the issue. There are several audio/video cutting applications available (just google it until someone makes a list here). If you're posting on the Bug Tracker there is a limit of 10MB. Otherwise, you'll have to use a file hosting site like MediaFire.

Crash Report
If XBMC has crashed, there are good odds that a crash report is available. How these are handled is platform dependent.

Linux
The file will be in your user's home directory or the working directory if XBMC was launched from a terminal. It will be named "xbmc_crashlog-[DATE]-[TIME].log" and contain some system information at the top, followed by a stack trace and the contents of xbmc.log. If you didn't have debugging enabled at the time, please enable it and recreate the problem. This feature was added in SVN revision 22194 and relies on the gnu debugger GDB being installed to work.

OSX
Both OSX and AppleTVs will always create a Crashreporter log if any application crashes. These are found in /Users/username/Library/Logs/CrashReporter/CrashReporter.log where 'username' is the login username. For the AppleTV, the 'username' is 'frontrow'.

Windows
For XBMC v9.11 (Camelot) Alpha1 and earlier, the file will be in your XBMC installation directory. It will be named "xbmc.r[REVISION].dmp" For XBMC v9.11 (Camelot) Beta1 and later, the file will be in the same location as the debug log and named "xbmc_crashlog-[DATE]-[TIME].dmp".