This page needs a technical review from the Mozilla QA Team in Q4 2014. (Assigned to Ioana Chiorean.) The following articles have been merged into this page from QMO:
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.
有效的 bug 报告会最可能得到处理。这份指南则阐释了如何来写出这样的报告。
- 在 Bugzilla 上搜索，看看你的 bug 是否已经被提交。(tutorial).
- 点击 Enter a new bug 表单，它就会指引你来完成绝大部分 bug 报告过程。如果你有多个问题需要报告， 请对每个问题分别提交一个 bug。
复现问题的步骤是 bug report 中最重要的部分。如何开发者可以重现这个 bug， 这个 bug 就可能得到处理。 如果复现问题的步骤不清晰， 我们就不会知道这个 bug 是否已经被处理。
除了与每个步骤交互的意图外，描述出与 Firefox 交互的方法。
- 不精确: "用新窗口打开Gmail".
- 精确: "点击Cmd+N新建浏览器窗口页，然后在地址栏输入https://mail.google.com/ 并敲击回车键".
- 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.
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"
查找出准确的 product 和 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.
指定 bug 的类型
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.
- Author(s): Jesse Ruderman, Gervase Markham
- Other Contributors: Eli Goldberg, Claudius Gayle, Jan Leger, Felix Miata, Peter Mock, Chris Pratt, Chris Yeh, and others.
The following article has been merged into this page from QMO: How to write a proper bug
Bug Validity Checklist
Verify the problem you found is a New Bug
To verify if what you've found is indeed a new software bug in one of Mozilla's products, go through the following checklist to make sure it's something worth creating a new bug report for.
- Make sure it's a software bug. It should be either an error, flaw, mistake failure of fault in the browser that produces an incorrect and/or unexpected result.
- See if it's an already known bug by looking at your particular version's release notes
- Make sure that no one has already fixed the problem by re-verifying the bug against the latest trunk nightly located here
- Make sure there isn't a duplicate bug already created by using this handy guide to search through Bugzilla for your problem
If you're lost and not sure what to do always check out the IRC channel, #qa, at irc.mozilla.org and ask there. If no one answers, try posting to our Bugzilla forums. Otherwise if you haven't found your software bug, its time to write a bug report!
The Bug Report
Where do I go to create a bug?
- Mozilla's main tracking tool for reporting, investigating and fixing bugs is located here. The first step in order to log a bug, is to register an account. To do that, go to Bugzilla's home page and click on the "New Account" hyperlink at the top of the page.
- After registering and then logging into your new account, go back to the Bugzilla home page and click on the "New" hyperlink at the top of the page. Click the product that the bug is found in and fill out the resulting form. If you have any issues with finding the product you want to file the bug for, go to the #qa channel at irc.mozilla.org and ask for help from our very friendly MozQA community.
What does the community want to see in a bug report?
There are a couple of generally-held principles that should be taken into account when creating a bug. They would be the following:
- Keep the Description and Summary clear and concise
- Only report one issue in a bug report
- Report only facts in your bugs and remove any assumptions you might have
General Outline of a Bug Report
- Summary: 如何在 60 个字符以内描述一个 bug？ 它应该快速和唯一的描述问题的出现，而不要写建议的解决方式。Good: "Cancelling a File Copy dialog crashes File Manager" Bad: "Software crashes" Bad: "Browser should work with my web site"
- Component: 在软件的哪一个子部分存在问题？这个字段是提交任何 bug report 都必须要求的。请点击 "Component" 来查看每个 component的描述。如果这些 component 都不太适合，请选择 "General" component.
- OS: 在什么操作系统上发现该问题的。 (如 Linux, Windows XP, Mac OS X 等) 另外，如果这个问题在不止一个操作系统上均会发生，请选择 “All”，如果您使用的操作系统不在列表内，请选择“Other”。
- Description: 问题报告的详细信息，包括：-Overview: 对标题内容进行更详细的复述。例如：“在Mac上拖动选框选中任何页面的时候，NSGetFactory 函数会导致崩溃” ("Drag-selecting any page crashes Mac builds in the NSGetFactory function") -Build Id: 你可以用地址栏访问"about:"页面来查看，或者如果你有 MozQA 的 Nightly Tester Tools 扩展组件，在 Tools | Nightly Tester Tools 可以找到 build 版本号的内容。build 版本号的格式如下: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3". -Additional Builds and Platforms: 如果可以的话，请报告这个 bug 在其他平台或者其他浏览器上会不会发生， 如: "Doesn't Occur On Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20081107 Firefox/3.1b2".
- Steps to Reproduce: Minimized, easy-to-follow steps that will trigger the bug. If they're necessary, make sure to include any special setup steps.A good example of this would look like the following: 1) View any web page. (I used the default sample page, http://www.google.com/). 2) Drag-select the page. Specifically, while holding down the mouse button, drag the mouse pointer downwards from any point in the browser's content region to the bottom of the browser's content region.
- Actual Results: 进行上述操作之后有什么结果。例如：软件崩溃了。 (The application crashed.)
- Expected Results: 正常情况下应该是什么结果，例如：“窗口应该向下滚动”，“某些内容应该被选中”，或者至少是“软件不该崩溃”。
Original document information
- Author(s): Aakash Desai
- Date last modified: June 3, 2013 at 2:41 am PST
The following article has been merged into this page from QMO: How to write a proper bug - Part 2
Reporting and Writing Good Bugs
By Tyler Downer
So, you think have found a bug in Firefox and you want to report it to be fixed. Great and thank you. The Mozilla projects rely on users to find and report bugs. However, you need to make sure that you write a good bug report on Bugzilla (bugzilla.mozilla.org) in order for it to be useful. These guidelines will help you write a good bug.
Note: These instructions are written for Firefox, but similar ones apply for most Thunderbird and Seamonkey bugs, only details differ. Hopefully, a Thunderbird version of this page will be released with Thunderbird 3.
Please read For All Bugs thoroughly before going to your specific issue. The information contained there is critical to making sure your issue is with Firefox, and not with an extension or corruption in your profile.
No matter what type of bug you have found, make sure to follow these steps to confirm that it is a bug in a Firefox, and not an extension. To do that, follow these steps:
- Update Firefox, add-ons and plugins to the most recent versions (this includes programs like Flash and Acrobat Reader). All of your plugins must be on the latest supported version, as well as Firefox. NOTE:Firefox 2 is no longer supported, and support for Firefox 3 will end by the end of the year. Please update to Firefox 3.5.
- Start Firefox in Safe Mode and try to find the bug. If the issue goes away:
- Disable your extensions/themes one by one, until you find the one causing the issue.
- Contact the developer of that extension.
- Read below for more information on Extensions.
- If the issue is still there in Safe Mode, make a new profile with no extensions or changes (instructions here). Then try to find the problem. If the issue goes away, your Firefox install was most likely corrupted. Migrate your bookmarks and other information to this new profile, and you should be good to go.
- You can read Basic Troubleshooting for more steps to try.
- If the issue is still present after these steps, it is likely your problem is with Firefox. However, make sure to go to support.mozilla.com and search for your issue there. Many problems can be solved with simple end-user support steps, and do not need to be reported as bugs. If you can not find any information to help on Mozilla support, keep reading to make sure your issue is really a bug, and to write a good helpful bug report.
- One thing to help developers is to use the latest nightly development build. These are the absolute latest in development on the Firefox program and help developers know if the issue has already been fixed. Also, if a patch is written, it will be put in the trunk first, making it easy to test. You can find trunk builds at the Mozilla FTP site.
Extensions, Themes and Other Applications
If you are experiencing a problem with an add-on, plugin, or other programs, please follow these steps:
- Update to the latest version. You can use Firefox's handy Add-on update manager to update extensions and themes. Some plugins and outside applications will have to be updated internally or manually from their website. It is very important that you are always using the latest version of plugins like Adobe Acrobat Reader, Flash Player, Real Player, VideoLAN and the like.
- Read troubleshooting extensions and themes for more information.
- If the problem lies with the extension (this can be proved using the steps listed for all bugs), then you should contact the developer of the extension or other application. Mozilla can not fix someone else's program for them.
- If the issue lies with how Firefox uses the extension, the go ahead and report it to both Mozilla and the extension developer.
After reading the information for All bugs above, choose your issue below.
- Internet Connectivity Issue
- Memory Leak
- Performance Issue
- Window Shakes
- For Bugs Not Listed
If Firefox crashes, and you have already followed the steps for all bugs above, fill out a bug report with the following information:
- Try to reproduce the bug (what you did to make the crash occur). If possible, try to reproduce it on different computers with the same version of Firefox, and with the current nightly development build of Firefox.
- Make sure you turn on the crash reporter, and provide the crash ids with your bug report (those can be found by typing about:crashes in your URL bar and copying the appropriate number).
- Make sure to read how to get a stacktrace and more information that is important for developers.
- Now that you have all this information, create a bug with a severity of Critical. Give as much information as possible.
When you would like a feature added to Firefox, it is called an Enhancement and the severity is marked as such. To file a good enhancement request, simply follow these two steps:
- Make sure you have explored all possible settings and other areas of Firefox to confirm that what you want does not already exist.
- Give a clear description on what, where and how this should be changed. Give the dialog box to be improved, maybe even a screenshot if it is a little known feature or it would assist in understanding. Remember, there are many areas of Firefox, so don't be offended if the Triage team asks for more details or why this should be added.
If you are having issues connecting to the Internet, it is most likely not an issue with Firefox, but an incorrectly set up Firewall. Make sure your Internet settings are set up correctly, and follow the steps listed for all bugs, then search the Firefox Support site. They will let you know if it is something you should report on Bugzilla or not.
Memory Leaks are very difficult to diagnose, so make sure the issue is not with your machine. Then provide the following information:
- Detailed information on your machine, what is happening when the leak occurs, and what seems to cause it.
- Read the following information found on David Barron's blog (Part 1, Part 2)and the Mozilla Developer Center on writing good memory leak bugs.
Performance issues are also difficult to confirm and diagnose. The only real way to confirm them is to have a website (create a testcase, read here for more info) that we can use to confirm on any similar machine. Please try to test on at least one other machine of the same or similar configuration before reporting. Also, issues such as startup times are almost impossible to confirm and can be influenced by other factors, so please make a strong case before submitting. Developers are always working on performance, so your problem may be fixed in the next release of Firefox.
If a bug has just recently occurred in Firefox that was not there before and is caused by an update, it is a regression. These usually only happen on the Trunk builds, though occasionally they creep onto the Releases. To properly report a regression:
- Follow the steps listed for all bugs. Also, make sure you did not make a change recently to the settings or something else that could have caused this.
- Install an older version of Firefox (starting with the most recent) to find out where the bug crept in. When you find it, then file that information.
Make sure that the issue you are seeing is a Firefox problem, and easy way to do this is follow these steps:
- Test in another browser such as Internet Explorer, Opera or Safari. If the issue is still there, it is probably something wrong with the website and they should be contacted.
- Follow the steps for all bugs. Extensions can mess with the rendering of a website, especially audio and video.
- Try to reproduce the issue on another computer running Firefox. You can also adjust your screen resolution to see if that is causing the issue.
- Try contacting the webmaster in charge of the website. Inform them of the problem, and ask if they know what could be causing it (some sites only work with certain browsers).
- Finally, if the issue is still there, make a testcase that shows in the bare minimum what the problem it. Information on how to can be found here.
If you Firefox window begins to shake, vibrate, or move around without any action on your part, it is usually fixed easily by reading these webpages:
- Follow the steps for all bugs. Extensions can cause window shakes.
- Read this support document, Window Shakes.
If the issue you are experiencing does not fall into these specific categories, follow the steps for all bugs, then write a clear, concise bug report. Make sure you eliminate any unnecessary information that could distract from the bug itself, and give a detailed steps to reproduce with all the information you think is necessary. Remember, no bug is too little to report and it will never get fixed unless it it reported.
You can visit the following pages for more information on bug reports and good related resources:
Original document information
- Author(s): Aakash Desai
- Date last modified: May 27, 2010 at 1:45 pm PST