HOW-TO:Submit a bug report: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Dandar3
>Althekiller
No edit summary
Line 1: Line 1:
{{Incomplete}}
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.


=Collecting an XBMC debug log=
=Has the bug been reported already?=
To an XBMC developer, the most valuable piece of information you can provide is a debug log from a session where you are having the problem you are trying to get help with.
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 [http://forum.xbmc.org XBMC Forum] and [http://trac.xbmc.org 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" posts don't really help the matter at all without real details, so please refrain.


'''IMPORTANT!''' The normal XBMC log '''IS NOT''' a debug log, to enable debug logging you must toggle it on in [[System Settings#Hardware|System Settings]].
=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.


===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 [http://trac.xbmc.org 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.


The log (xbmc.log) can be found in the same location as the XBMC executable (like on the Xbox or [[XBMC_for_Windows_specific_FAQ#Where_is_user_specific_data_stored.3F|Windows in Platform mode]]), OR
===Hrm...I think this is a bug...===
*"'''''~/.xbmc/temp/'''''" for Linux
If the problem is more one of behavior you didn't expect, please start in the [http://forum.xbmc.org 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 [http://trac.xbmc.org Bug Tracker]. You may be opening a feature request instead! ;)
*"'''''~/Library/Logs/'''''" on the Mac
*"'''''/mnt/Scratch/Users/frontrow/Library/Logs/'''''" on Apple TV
*"'''''%APPDATA%\XBMC\'''''" on Windows.


=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.  I don't think one team member enjoys prying the following details out of people.  If you need further help obtaining something, feel free to ask (then come back and update the wiki!).  Also, please wait to make your first post when you actually have physical contact with the system.  The "Oh it such and such is broken, but I'm at work.  I'll post more info later." reports really won't get you anywhere.


'''Note!''' Please '''do not''' cut and paste logs into a post on the XBMC Community Forum, instead use one of the many pasting websites such as [http://pastebin.com pastebin.com] or [http://pastebin.ca pastebin.ca] to upload your '''entire''' log and then only post the link to that web page. Thank you in advance for not cluttering the XBMC Community Forum with logs.
===Debug Log===
A [[Log file|debug log]] is '''essential''' to any and all bug reports.  Don't even bother making a report without one.  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 [http://trac.xbmc.org Bug Tracker]. So it might pay to glance through it yourself.


=How to submit a bug report=
===Detailed Instructions To Reproduce===
# First check whether or not there has been a bug reported before, as your bug may already have been fixed or may be in the process of being fixed. Do that by searching on [http://trac.xbmc.org/ Trac] (our tracker-system) to see whether a similar bug report have already been filed or not, (if an existing ticket already exist as is open then add your experiences and logs to that bug report instead of creating a new report). You may also try searching in the [http://forum.xbmc.org XBMC Community Forum] to see whether others are having the same problems.<br><br>
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," [[Log file#Enable Debugging|enable debugging]] during normal use. Restart the application often to keep the log file short. Debugging via proxy is extremely inefficient and difficult, most developers won't even bother. Please take your time with this step!
# If you're not sure whether it is a legitimate bug then please post on the forums and give as much information as you can, including a debug log.<br><br>
# If you are sure that it is a genuine bug (or the issue have been confirmed by others) then please post a bug report on [http://trac.xbmc.org/ Trac] (our tracker-system). The following information is always essential:
## Information as to which platform (operating-system/hardware) and version of XBMC (exact SVN revision) you are running.
## Clear steps as to how someone else can reproduce the problem that you see (very few bugs are truly "random", and getting it reproducible by others is 90% on the way to fixing it).
## A full _debug log_ of when the error occurs.
## Anything else that may be of assistance to developers (eg. screenshots, the skin you are using if not the default PMIII and so on).<br><br>
# Make sure you follow up the bug report with any information that is requested by a developer as soon as possible.
 
===Getting a Stack Trace (backtrace)===
You probably got to this page because someone asked you for additional information in a bug report that you filed. This extra bit of information they asked for is a stack trace (also known as a backtrace), and it is important for developers that the stack trace you obtain contains certain details (called debugging symbols). Below are listed all the steps we would like you to take to provide us with the helpful information. It should only take 10-15 minutes of your time, and it will help us tremendously to improve the software you are using.
====Installing debugging information packages====
You need to install debug packages for the program that crashed. These debug packages are additional packages that do not affect your existing program, but provide extra information (debugging symbols) needed by developers. This makes it a lot easier to find the exact place in the program code where that problem occurs, and to fix it. We ask you to also install debug packages for some of the program's major dependencies.
 
=Help with Bug Reports and Quality Assurance=
You can help the XBMC development team keep up with the bug reports by closing duplicates, helping to clarify a reported problem, and confirming that you can reproduce bugs. You can via [http://trac.xbmc.org our tracking system] view the entire list of open bugs, or browse XBMC bugs by various attributes (ones with unreviewed patches, etc). You may not have permissions to do much at first except comment - which you should feel free to do.
 
For more information please read our [[HOW-TO help with Quality Assurance]] for tips on how to best help us with the reported bugs.
 
=Tips and tricks on how XBMC tracking-system (Trac) works=
Here are some basics explained as well as quick tips and tricks on how to use [http://trac.xbmc.org trac] (XBMC tracking-system). Trac may do some things from time to time that help or hinder, so knowing what they are when they happen can be useful.
 
===Trac basics explained===
*Who may submit a new bug ticket?
**Anyone who have a registed account on [http://forum.xbmc.org XBMC Community Forum] may submit a new bug report to [http://trac.xbmc.org Trac] (as well as feature requests, and patches).
*What the reporter can do
**The reporter of a bug can modify any aspect of their own bug (e.g. close it, reopen it, etc.).
*Who can add comments
**Anyone can to anyone else's ticket on Trac, so long as they have created a [http://forum.xbmc.org XBMC Community Forum] account.
 
===Exploiting Trac in order to increase your productivity===
*Custom bookmarks
**Custom keywords allow you to jump to a known bug ID without having to browse to Trac first.


===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 [http://trac.xbmc.org Bug Tracker] there is a limit of (ping TheUni?)MB.  Otherwise, you'll have to use a file hosting site like [http://www.mediafire.com/ 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 [[Log file#Enable Debugging|debugging]] enabled at the time, please enable it and recreate the problem.  This feature was add in SVN revision 22194 and relies on the gnu debugger GDB being installed to work.
====OSX====
Davilla! mdd!
====Windows====
WiSo! JMarshall!


[[category:How To|Submit a Proper Bug Report]]
[[category:How To|Submit a Proper Bug Report]]

Revision as of 21:48, 4 November 2009

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" posts don't really help the matter at all without real 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.

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. I don't think one team member enjoys prying the following details out of people. If you need further help obtaining something, feel free to ask (then come back and update the wiki!). Also, please wait to make your first post when you actually have physical contact with the system. The "Oh it such and such is broken, but I'm at work. I'll post more info later." reports really won't get you anywhere.

Debug Log

A debug log is essential to any and all bug reports. Don't even bother making a report without one. 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. Debugging via proxy is extremely inefficient and difficult, most developers won't even bother. 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 (ping TheUni?)MB. 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 add in SVN revision 22194 and relies on the gnu debugger GDB being installed to work.

OSX

Davilla! mdd!

Windows

WiSo! JMarshall!