Contributors Guide to Writing a Good Bug
Have you ever wondered as a contributor how the teams find out about some of the issues that come up after a new release? Or maybe that weird thing that this one product did in that weird question you answered yesterday? Well let's admit it, sometimes products break and new ways to use them come up all the time. Or maybe you are that user who has looked under the hood of plenty of applications and want to know how to tell "them" about it. Whatever the case, this article will give a few guidelines on how to communicate that weird situation or error code you saw in that one question and translate it into something an engineer can work from.
This is where Bugzilla comes in. Bugzilla is the tool that Mozilla uses to talk about the bugs in all of the products that Mozilla has ever created, for the most part. But our neighbors have an ecosystem just like the forum. All of its wonders will be found in due time. Just like in the cave of wonders, for now, do not touch anything but the lamp!
Table of Contents
- 1 Bugzilla and what it can do
- 2 What you need to know before you participate
- 3 How to gather the troubleshooting info for the bug
- 4 Existing Guidelines for Writing your First Bug
- 5 Firefox for Android
- 6 Firefox OS troubleshooting info
- 7 Some common Webmaker troubleshooting info
- 8 Some common Thunderbird troubleshooting info
- 9 I filed some bugs, but I want to do a little more
- 10 Grey Areas
Bugzilla and what it can do
[add screenshot of bugzilla]
This is Bugzilla, and below is a bug form:
[add a screenshot of File a bug]
If you are looking for an existing bug these are the search functions:
[screenshot of the search functions]
There are also some tips and tricks that can help you visualize the dashboard or keep track of the bugs that you have filed.
How to save an advanced search:
- First sign into Bugzilla.
- Click on "Search" and click the tab "Advanced Search" or https://bugzilla.mozilla.org/query.cgi?query_format=advanced.
- Select all the options you want.
- Click Search.
- Then click "Remember Search As" and enter the name of the search.
- The link will then live at the bottom of Bugzilla and is just a click away.
How to save a template to create a bug:
- Sign in and click "New" or New Bug.
- Click on a component.
- Click on the button "Show Advanced Fields".
- Click "Remember Values as bookmarkable template".
- At the top there will be "Bug entry template". Right-click on it and copy the link. Open up Bookmarks and create a new bookmark. Paste the link and call it "Template Bug for" + name of choice. That's it!
Is there a bug that already exists? Please add the thread for tracking purposes or in the "See Also:". This way – when the bug is fixed or there is an update – you can easily find the thread to let the user know what is happening with their bug.
What you need to know before you participate
Please keep this in mind before you enter Bugzilla of wonders:
- Please read the etiquette.
- Did you find a bug that describes what you are seeing? If you did, do they have the same info you have? Let them know or vote on it.
How to gather the troubleshooting info for the bug
So you are already good at this stuff: asking for what the user is seeing on their computer screen or phone and how to show them the basics. Now for the more technical stuff.
Troubleshooting information on about:support
- Open Firefox and type in about:support.
- Look for the "Copy text to clipboard".
- Paste the information below.
Questions you can ask yourself to frame the bug and description:
- Does it happen in Firefox Safe Mode and a new profile?
- What add-ons do you have? What version do you use?
- Can you reproduce this? Or do you know someone who can?
- Is there another way to do it in the meantime, is there a work around?
- Is it working the way that it is intended to work?
Existing Guidelines for Writing your First Bug
Mozilla has a wiki page that walks a first time user on how to write an effective bug. Just like SUMO, there is some lingo and guides to being amazing. Please see: How to write an amazing bug.
Guidelines on how to get help:
- Please make sure all comments on bugs are useful pieces of information in helping to solve the bug.
- Do not fear – we are not leading you to a wasteland of forgotten bugs. Each component sends an email to the owner of that component.
- Each bug is reviewed, triaged and viewed by many people, this is why it is important to make sure it has clear information in its description. But make sure that if it is not assigned, that you put a severity on it. The severity gets more attention in those components.
- If you have any questions about this, please seek a moderator or an admin for more help. Some places to find help are irc channels that the bug pertains to. You can ask about the bug there. If you get an employee's attention to keep track of the thread, they can ask more questions if they are working on improving that as well.
- Tell input.mozilla.org if it is feedback instead of filing a bug!
Support: If you find the bug matching their issue:
- Tell them the priority and what that means.
- Has it been assigned or does it depend on another bug?
- Has it been fixed in Aurora or Nightly?
- Contact the engineer if it is assigned and ask for a status update.
For example, this is not a standard:
Currently it looks like this bug depends on a [priority] bug, which is the highest priority. I have voted on this bug and recommend you check for updates on this issue on this bug and vote as well because it is affecting you. In the meantime we are happy to help find a work around.
- [Insert work around if there is one].
- If the behavior is the same is there a time the bug says it will be fixed? Be careful here because this is subject to change and can be left out.
We are very sorry for the inconvenience. If there are any other questions in the meantime please do not hesitate to ask.
- Start a new thread can be added.
Firefox for Android
How to gather troubleshooting info
- Tap on the awesome bar, type about:support and review the information there.
- You can reproduce the issue with debugging mode https://hacks.mozilla.org/2012/08/remote-debugging-on-firefox-for-andr...
- Configuring your own build.
- You need to build with debug symbols (https://developer.mozilla.org/en/docs/Configuring_Build_Options) and then use, e.g., JimDB (https://wiki.mozilla.org/Mobile/Fennec/Android#Using_JimDB) or just logcat (https://wiki.mozilla.org/Mobile/Fennec/Android#Using_logcat) to start debugging.
Firefox OS troubleshooting info
This is a template you can use when filing a bug:
Please type a brief introduction to the bug and/or background if it would be helpful to the Engineering and QA teams. Not required for all bugs - some of them are simpler and straight forward.
STEPS TO REPRODUCE:
EXPECTED RESULTS: Describe what you expected to happen.
ACTUAL RESULTS: Describe what actually happened.
Please let me know if there is any information I could provide to help with the investigation and troubleshooting of this issue.
What a Firefox OS status of a bug entails:
Firefox OS bugwork
Magic link for description of bug components:
Some common Webmaker troubleshooting info
- Using Bugzilla for Webmaker: http://openmatt.org/2013/05/17/using-bugzilla-for-webmaker/
- To file a Webmaker bug: Webmaker bug form
Some common Thunderbird troubleshooting info
- See this Common Response or How to Gather Thunderbird Troubleshooting information
I filed some bugs, but I want to do a little more
Now you start to file some bugs, but you want to do a little more. Check if the bugs have been assigned? Have there been any updates? This is a big part of support.
Getting to know bug components:
Check out the component descriptions if you have questions. Click this link and choose a product.
Link for description of all bug components:
You want to be one of the bugmasters?
... Or maybe you want to find the right people to take a look at a bug: MDN’s guide to Bugzilla will tell you all about the etiquette, how to fix it and where to find the right people.
I know how to fix the bug, how can I write a patch?
- Accessing the codebase: Introduction to the code base.
You can always reach out for help, this is not a standard just some recommendations. If you have any other "grey areas" let's talk about it.