Bug writing guidelines

  • History
  • Edit

Table of Contents

    1. Preliminaries
    2. Writing precise steps to reproduce
    3. Writing a clear summary
    4. Finding the correct product and component
    5. Specific types of bugs
    6. Original document information
  • Tags
  • Files

If you need help with Mozilla software (for example with Firefox or Thunderbird), use one of the available support options. Do not edit this page!  Please read this page to learn how to report a bug using Bugzilla, which is Mozilla's bug tracking system.

If you're new to reporting bugs, you may want to try getting help from the more experienced contributors. See the Community section on the QA page for pointers. If you're going to report a Firefox bug, you can also get assistance in the #firefox channel on irc.mozilla.org.

See also How to write a proper bug.

Effective bug reports are the most likely to be fixed. These guidelines explain how to write such reports.

Preliminaries

  1. Make sure your software is up to date.
    • Ideally, test an in-development version to see whether your bug has already been fixed (e.g. Firefox Beta, Aurora, or bleeding-edge Nightly).
  2. Search Bugzilla to see whether your bug has already been reported (tutorial).
  3. Open the Enter a new bug form, which will guide you through most of the bug reporting process.
    • If you have multiple issues, please file separate bug reports.

Writing precise steps to reproduce

How can a developer reproduce the bug on his or her own computer?

Steps to reproduce are the most important part of any bug report. If a developer is able to reproduce the bug, the bug is very likely to be fixed. If the steps are unclear, it might not even be possible to know whether the bug has been fixed.

Describe your method of interacting with Firefox in addition to the intent of each step.

  • Imprecise: "Open Gmail in another window".
  • Precise: "Press Cmd+N to open a new browser window, then type https://mail.google.com/ in the address bar and press Enter".

After your steps, precisely describe the observed result and the expected result. Clearly separate facts (observations) from speculations.

  • Imprecise: "It doesn't work"
  • Precise: "Instead of showing my Inbox, it shows the message 'Your browser does not support cookies (error -91)'."

If the bug seems egregious, there might be something unusual about your setup that's a necessary part of the steps to reproduce the bug. See if you can reproduce the bug in a new Firefox profile. If the bug only happens in your existing profile, try to figure out what settings, extensions, or files in your profile are needed to reproduce the bug.

  • What if my bug seems "random" or "intermittent"?

Writing a clear summary

How would you describe the bug using approximately 10 words? This is the first part of your bug report a triager or developer will see.

A good summary should quickly and uniquely identify a bug report. It should explain the problem, not your suggested solution.

  • Good: "Cancelling a File Copy dialog crashes File Manager"
  • Bad: "Software crashes"
  • Good: "Down-arrow scrolling doesn't work in <textarea> styled with overflow:hidden"
  • Bad: "Browser should work with my web site"

Finding the correct product and component

You will be asked to categorize your bug into a "product" and a "component" within that product, in order to direct your report to the correct developers.

If you're using Firefox, the bug is most likely in "Firefox", "Toolkit", or "Core".

  • List of components in the "Firefox" product - Most parts of Firefox that you interact with directly
  • List of components in the "Toolkit" product - Interface widgets and some frontend features
  • List of components in the "Core" product - Web page rendering, networking, etc.

When in doubt, search for similar bugs and see what component they are in.

If none of the components seem appropriate, look for a "General" component in the most appropriate product.

Specific types of bugs

If you are reporting a crash bug, please include a Breakpad ID or attach stack trace, and include the crash signature in the bug summary.

If you are reporting a memory use or leak bug, please attach the output of about:memory (Firefox 6+). Ideally, find steps to reproduce an increase in what is shown in about:memory (even after clicking the "Minimize memory usage" button at the bottom). If you have trouble finding steps to reproduce, try the Firefox Support page titled High Memory Usage. If you are a C++ developer, more precise tools are available.

If you are reporting a bug involving a specific web page, please try to make a reduced testcase and attach it to the bug report.

If the bug was recently introduced, finding a regression window can help identify the cause of the bug.

Original document information

  • Author(s): Jesse Ruderman, Gervase Markham
  • Other Contributors: Eli Goldberg, Claudius Gayle, Jan Leger, Felix Miata, Peter Mock, Chris Pratt, Chris Yeh, and others.

 

Tags (2)

  • Bugzilla
  • QA
Contributors to this page: Ferguz, Sir Sid, WSchwarz, Tygerstar35, Chrisblore, jswisher, Fredchat, Gerv, teodoro7, Sheppy, Elchi3, Nickolay, DBaron, Jesse, Dria, Callek, Kohei, Mgjbot, NickolayBot, zhangxwhome, juantrip, Sardisson, Marcushe, Normanhawkes, Ezstock
Last updated by: Sheppy,
Last reviewed by: Sheppy,