Difference between revisions of "How do you report a bug?"

From Joomla! Documentation

Line 115: Line 115:
  
 
[[Category:Development]] [[Category:Bug_Squad]]
 
[[Category:Development]] [[Category:Bug_Squad]]
 +
[[Category:Joomla! Resources]]

Revision as of 14:42, 30 November 2013

Reporting bugs[edit]

To report a bug in the Joomla! bug trackers, you need to create a tracker item. Once the tracker item is created, the developers will check the validity of it and act accordingly.

Register an Account at joomlacode.org[edit]

Register

Access the Joomla! development bug tracker.[edit]

Check to see if the bug you want to report is already reported.[edit]

A series of filters display the tracker items. Make sure Priority is set to "Any", Assignee to "Any" and Status to "Any", other filters to nothing. Mouse over the title of the tracker items to check their contents. If the issue you are experiencing is not already reported, click on the bottom-right Button "Add new Tracker Item".

A new screen will display and there, the more information you give, the easier it is for the developers.

Fill as many fields as you can.

  • Priority : Use the default "Medium" except if you know the code enough to make another choice.
  • PHP : Choose the version you are testing on. You can find this information by clicking the Menu "Help"->"System Info" in the Administrator back-end of Joomla!.
  • Estimated Time : Leave this blank.
  • Build : Type here the #SVN number if you know it, or Nightly Build date, or Version used if using a Released version.
  • Browser : Self-explanatory.
  • Database : The version of MySQL is also available in "Help" -> "System Info".
  • Status : Leave this to "Open".
  • Percent Complete : Leave this blank.
  • Category : This one is more tricky. Use "Administration" if you do not know better.
  • Customer : Use "User" if the issue is in front-end, "Developer" if the issue concerns an extension you are developing, "Administrator" in other cases.
  • Web Server : The version/server type is also available in "Help" -> "System Info".

Provide a summary[edit]

Describe in a few words the issues you are having. It is generally a good idea to use existing tracker items as examples if this is your first time reporting a bug.

Examples:

  • Front-end: Warning such and such.
  • Back-end: Unable to save article when "nameofplugin" is published.

Note: Take care to be descriptive in your summary as this is the first thing the developers will see when they are perusing the tracker for something to fix.

Provide details about the bug[edit]

This is the most important part of reporting the bug. Describe here step by step how you got the error you are noticing. Include all of the information that someone will need to re-trace your steps and see the problem. Remember: Your bug will not be fixed unless others can see the problem, so you want to be as clear and detailed as possible. You do not need to know anything about programming to write a great bug report. But if you do understand the code and think you know how to fix the bug, please include this in the report.

The general format should be something like:

  1. "Here is exactly what I did."
  2. "This is what happened."
  3. "This is what I think should have happened."
  4. "Other information, possible solution, proposed code patch."

The more details, the better. Also, it is important to reproduce the bug using the sample Joomla! website or with easy, clear instructions for how to set it up. Remember that others will not have access to your site's database, so you will need to be able to tell someone how to see the bug with data that is readily available -- the sample site.

Example A

What I did
Started with sample website. Everything was ok. I enabled "nameofplugin". Try to save any article from back end.
What happened
I get a blank screen and article is not saved.
What should have happened
Articles should save correctly.
Other information
These are the plugins enabled at the same time. SEF is on (or Off). My site is in a sub-folder. I also remark that... etc. Files such and such are the issues IMHO (if you know what you are talking about).

Example B

What I did
Navigate to Back-end. Click on "menu_name" Menu.
What happened
Page opened is blank.
What should have happened
Menu should have opened correctly.
Other information
Any other menu works OK. etc.

Real-Life Example

What I did
Started with the sample website.
Added an unpublished article from the back end, with Section=FAQ, Category=General.
In the advanced parameters for the article, set Show Title to "No" and Print, PDF, and Email Icons to "Hide".
Save the article and navigate to front end. Login to the front end as admin and navigate to the Example Pages -> Category Blog menu item.
What happened
The newly added article shows but there is no edit icon for the front-end user to click on.
What should have happened
The edit icon should show, allowing a front end user to edit this article.
Other information
This only happens with the rhuk_milkyway template. By changing this code [code proposed] in file [name and hierarchy of file], line(s) #, the issue looks solved on my settings.

Add an attachment to your report[edit]

To better describe the issue or/and propose a fix, you can add attachments to the tracker item you are creating by using the "Browse" buttons at the bottom of the screen. A screen capture of the page(s) concerned helps a lot. If you can, try to optimise the size of the image through an image editor. If you know what part(s) of the code base to change, a patch [patches] or a full file where your changes are WELL shown will help the developers to solve the problem quicker.

Finish and send in the report[edit]

You will receive an e-mail confirming that you posted the tracker item. When someone comments or asks for supplementary details or solves the issue, you will receive a notification e-mail and may reply if needed.

Extra tips and tricks[edit]

Well-written bug reports are incredibly helpful. However, there's a certain amount of overhead involved in working with any bug tracking system, so your help in keeping our ticket tracker as useful as possible is appreciated. In particular:

  • Do read the FAQ to see if your issue might be a well-known question.
  • Do search the tracker to see if your issue has already been filed.
  • Do ask on testing forums first if you're not sure if what you're seeing is a bug.
  • Do write complete, reproducible, specific bug reports. Include as much information as you possibly can, complete with code snippets, test cases, etc. A minimal example that illustrates the bug in a nice small test case is the best possible bug report.
  • Don't use the tracker system to ask support questions. Use the Joomla! forums, or the #joomla IRC channel on freenode for that.
  • Don't use the trackers to make large-scale feature requests. We like to discuss any big changes to Joomla!'s core on the developers forums before actually working on them.
  • Don't reopen issues that have been marked "not a bug". This mark means that the decision has been made that we can't or won't fix this particular issue. If you're not sure why, please ask on developer forums.
  • Don't use the tracker for lengthy discussions, because they're likely to get lost. If a particular tracker item is controversial, please move discussion to developer forums.

Reporting security issues[edit]

Report security issues to security [at] joomla [dot] org. This is a private list only open to long-time, highly trusted Joomla! developers, and its archives are not publicly readable.

In the event of a confirmed vulnerability in Joomla! itself, we will take the following actions:

  • Acknowledge to the reporter that we've received the report and that a fix is forthcoming. We'll give a rough timeline and ask the reporter to keep the issue confidential until we announce it.
  • Halt all other development as long as is needed to develop a fix, including patches against the current and two previous releases.
  • Determine a go-public date for announcing the vulnerability and the fix. To try to mitigate a possible "arms race" between those applying the patch and those trying to exploit the hole, we will not announce security problems immediately.
  • Publicly announce the vulnerability and the fix on the pre-determined go-public date. This will probably mean a new release of Joomla! but in some cases it may simply be patches against current releases.