Bugzilla

 < Day Day Up > 

Bugzilla is the tool used at Mozilla to track bugs in the various products. This program is accessible over the Internet using Firefox (or another browser).

The problems of tracking and managing bugs in software can be daunting, especially when many developers are involved. Mozilla's problems are even more difficult because it has no direct control over many of the developers.

Note

Bugzilla is used by several other organizations to track their software bugs. In fact, more than 400 organizations, companies, and projects were using Bugzilla at the time of this writing.

If you want to use Bugzilla, check http://www.bugzilla.org/download/ for download instructions.


Bugzilla resolves many of the problems that bug management present and is used to track and manage bugs in Firefox, Thunderbird, Mozilla, and Camino.

You can search for bugs, file bugs, comment on bugs, and be assigned a bug (be the person who fixes the bug). You can also add your email to the list of those who are notified when a bug's status changes.

When you (or any other user) find a bug and want to file a bug report with Bugzilla, you need to follow a simple process:

1.

If you do not have a Bugzilla account, you need to create one. Nothing special is needed, just an email address that is used to send you information about the bugs you are interested in.

2.

Learn as much about the bug you found. Can it be repeated every time, or was it one-time only? If you have more than one computer, does the bug happen on both? Which steps are needed to reproduce the bug?

3.

Next, search the Bugzilla database for your bug. If your experience in searching for bugs is limited, make several searches with different search terms.

4.

If you find the bug in Bugzilla, that's great. That makes everything easier for you. Now, read the comments on the bug that matches the one you found. Is there anything you can contribute to the comments (perhaps better or different steps, different platforms, and so on)? If so, add a comment. If you can't add anything significant, do not add anything like "me too" that type of comment is not productive.

5.

If, after searching several times and not finding any bugs in Bugzilla that match your bug, then and only then should you consider filing a new bug report.

Let's start with looking up bugs.

Looking Up a Bug

To look up a bug, first go to the Bugzilla page at https://bugzilla.mozilla.org/ (see Figure 17.1). This is the home page for Bugzilla and the starting point for your working with Bugzilla. Even though you must be a registered user to use Bugzilla, you can search and display bugs without being registered.

Figure 17.1. The links on the lower left let you search, generate reports, and log in to Bugzilla.


Searching for bugs can be done either on the main Bugzilla page (by bug number) or by using an advanced search with more options. The advanced search lets you restrict your search to a single product and find only open, closed, or all bugs.

Tip

Even experienced users are not successful on their first search sometimes. An experienced user realizes that perhaps he is using the wrong search term.


The most advanced search allows very specific searches (see Figure 17.2).

Figure 17.2. Bugzilla's advanced search enables you to find a specific bug by limiting the search.


After you have searched for your bug and have not found it, you can consider filing a new bug report.

Filing a Bug

All bugs must have certain information. As well, you should do certain things to ensure that the bug is really in Firefox and not a profile, theme, or extension problem.

Caution

Do not use the Mozilla Bugzilla system to test and practice! Do not play with it it is not a toy.

If you want to practice (and I recommend you do), go to http://landfill.bugzilla.org. There you will find a Bugzilla configuration you can play with; file wacky bug reports at; and generally see what happens when a bug is entered, commented on, and other actions (such as closing) are taken.

You need to create a special Bugzilla account at landfill.bugzilla.org to use the test system. You can use the same account information as the Mozilla working Bugzilla system; there will be no conflict.


First, try uninstalling your extensions. You should uninstall one at a time and test after each one is removed. If the bug goes away after removing an extension, that extension is likely the problem and not Firefox.

Next, check to see whether there is something about the website that is unique. Does this bug affect more than one website? Is the website using plug-ins? Is the site trying to use JavaScript and you have JavaScript disabled? Is the site trying to display a pop-up window (for example, a web-based email system might do this to allow you to edit a new message)?

Finally, you should create a new blank profile. Try to re-create the bug using this profile. If you cannot reproduce the bug with the new blank profile, your profile has likely been corrupted.

Without this information, it is virtually impossible to find and fix the bug. Start at Bugzilla's Enter Bug page.

Information needed in a good bug report includes

  • The product name for example, Firefox or Thunderbird.

  • Which component is failing. The Enter Bug page provides a list, and you can read a full description for a component from that page.

  • Which hardware platform the problem occurs on. Is it PC, Mac, all of them (you know it fails on all platforms), or some other platform?

  • Operating system information. If you're using Windows, which version are you using? If the problem occurs on a Macintosh, which OS does it occur on? If it happens on Linux, which flavor of Linux is involved?

  • The build number/version number of the product. This information can be found on the product's About page.

  • For Firefox, if the bug is specific to a certain web page (perhaps the page doesn't display properly), the page's URL is needed.

  • A one-sentence summary of the bug. Be objective and descriptive. Use keywords and proper terminology wherever possible.

  • A detailed description of the bug. Be objective and descriptive. Saying it's a "terrible product" tells nothing. Saying "Opened page, and text on left overwrites images on the right" is an example of a good description.

  • Whether the bug can be reproduced reliably. If you can make it fail every time, that is best. Bugs that fail without any indication of what caused the failure are difficult to find and fix.

  • The steps to reproduce the problem. These should be detailed and leave nothing out. If possible, start with a clean launch of the product.

  • The actual results your steps produced.

  • The results you expected these steps to produce.

  • Whether the bug presents a security problem. If this is true, there is special handling the bug might receive so the security flaw will not become public knowledge.

  • How severe the bug is. Choices range from Blocker (nothing can be done until the bug is fixed) to Normal (a bug that should be fixed) to Enhancement (not really a bug, rather it is something that should be added).

After you have collected all this information about your bug, you can go to the Bugzilla enter a new bug page at https://bugzilla.mozilla.org/enter_bug.cgi.

For a bit of practice, go to http://landfill.bugzilla.org/bugzilla-2.20-branch/ (see Figure 17.3). Select Enter a New Bug Report from the list on the left side of the page.

Figure 17.3. After you're logged on to landfill.bugzilla.org, you can create a new test bug report.


The steps for creating new bug reports are as follows:

1.

Select a product (see Figure 17.4).

Figure 17.4. Each product is a link to the page where you can enter bugs for that product.


2.

Fill in the various pieces of information as shown in Figure 17.5.

Figure 17.5. Fill in the information requested. This information varies with products, so your bug reports might differ from this example.


3.

When you're done, click Commit (the Commit button is just off the screen in Figure 17.5).

Tip

Consider setting up an email account just for bugs. This can make managing your bugs easier because they will all be together, without unrelated clutter.


Each time you file a bug report with Bugzilla, you receive an email copy of the bug. This copy can serve as a reminder that you filed a bug.

Updating and Modifying a Bug

Any user can update her bug report, adding comments, information, and responses to other people's comments.

On the Bugzilla test system, you can safely practice updating your bug reports. Because you probably won't have the bug number handy, you can do a search. I'll search for a bug I filed on landfill.bugzilla.org on spider digestive goo and heartburn.

The bug is displayed using a form that shows all the bug fields (see Figure 17.6).

Figure 17.6. I've scrolled down in this bug to the bottom part of the report, where I'll assign the bug to me.


To tell Bugzilla that I will be the person who is fixing this bug, I click the Accept bug, which changes the status to Assigned. Then I click Commit. I can also choose to leave a reply to the bug's description (or reply to any other replies) by clicking the Reply link.

You also can leave additional comments on an open bug.

Tip

Some fields, such as Reply, can be used by anyone who is logged in. Other fields might be restricted to either the creator or the Bugzilla administrators.


Fixing a Bug

Both creating and commenting on bugs are things anyone can do. Fixing bugs is a bit more complex, however. Virtually all bug repairs require that you be a programmer. Knowledge of C and C++, JavaScript, and the other technologies used in the Mozilla products is a must. But, should you have the skills and want to jump in with both feet, please do so.

In Chapter, 18, "Browsing the Code," we will get into the actual work of fixing a bug. In this chapter, we deal with the administrative issues only.

After you've found a bug you think you might be able to fix, I personally recommend that you try this to get some experience. Start with a downloaded set of source files (real bug fixing won't be done with the downloaded source, but for practice this is not a problem). Then do the following:

  1. Print the bug's report from Bugzilla. The bug report page has a link at the bottom labeled Format for Printing; it formats the bug report in a way that prints well.

  2. Go to the product's source and try to fix the bug. This entails analyzing the code and the bug, determining a fix, coding the fix, and rebuilding the product to test your fix.

  3. Did you really manage to fix the bug? If so, the bug might still be opened and not fixed. Regardless, you have gained very valuable experience in fixing and rebuilding the product.

If you follow these steps with a few real bugs and are able to successfully fix them, you can consider fixing bugs for real.

     < Day Day Up > 


    Firefox and Thunderbird. Beyond Browsing and Email
    Firefox and Thunderbird Garage
    ISBN: 0131870041
    EAN: 2147483647
    Year: 2003
    Pages: 245

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net