This FAQ includes questions not covered elsewhere in the Guide.
You can stay up-to-date with the latest Bugzilla information at http://www.bugzilla.org/
Bugzilla is covered by the Mozilla Public License. See details at http://www.mozilla.org/MPL/
www.collab.net offers Bugzilla as part of their standard offering to large projects. They do have some minimum fees that are pretty hefty, and generally aren't interested in small projects.
There are several experienced Bugzilla hackers on the mailing list/newsgroup who are willing to make themselves available for generous compensation. Try sending a message to the mailing list asking for a volunteer.
There are dozens of major comapanies with public Bugzilla sites to track bugs in their products. A few include:
Netscape/AOL |
Mozilla.org |
NASA |
AtHome Corporation |
Red Hat Software |
SuSe Corp |
The Horde Project |
AbiSource |
Real Time Enterprises, Inc |
Eggheads.org |
Strata Software |
RockLinux |
Creative Labs (makers of SoundBlaster) |
The Apache Foundation |
The Gnome Foundation |
Ximian |
Linux-Mandrake |
Suffice to say, there are more than enough huge projects using Bugzilla that we can safely say it's extremely popular.
A core team, led by Dave Miller (justdave@syndicomm.com).
We can't find any head-to-head comparisons of Bugzilla against other defect-tracking software. If you know of one, please get in touch. However, from the author's personal experience with other bug-trackers, Bugzilla offers superior performance on commodity hardware, better price (free!), more developer- friendly features (such as stored queries, email integration, and platform independence), improved scalability, open source code, greater flexibility, and superior ease-of-use.
If you happen to be a commercial bug-tracker vendor, please step forward with a list of advantages your product has over Bugzilla. We'd be happy to include it in the "Competitors" section.
A.1.7. Why doesn't Bugzilla offer this or that feature or compatability with this other tracking software?
It may be that the support has not been built yet, or that you have not yet found it. Bugzilla is making tremendous strides in usability, customizability, scalability, and user interface. It is widely considered the most complete and popular open-source bug-tracking software in existence.
That doesn't mean it can't use improvement! You can help the project along by either hacking a patch yourself that supports the functionality you require, or else submitting a "Request for Enhancement" (RFE) using the bug submission interface at bugzilla.mozilla.org.
There is DB-independence work afoot. PostgreSQL support is planned for 2.18, and full DB-independence can't be far further on.
A.1.9. Why do the scripts say "/usr/bonsaitools/bin/perl" instead of "/usr/bin/perl" or something else?
Mozilla.org uses /usr/bonsaitools/bin/perl, because originally Terry wanted a place to put a version of Perl and other tools that was strictly under his control.
We always recommend that, if possible, you keep the path as /usr/bonsaitools/bin/perl, and simply add symlink. This will make upgrading your Bugzilla much easier in the future.
Questions likely to be asked by managers. :-) |
A.2.1. Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine?
It is web and e-mail based. You can edit bugs by sending specially formatted email to a properly configured Bugzilla, or control via the web.
Yes! You can find more information elsewhere in "The Bugzilla Guide" in the "Integration with Third-Party Products" section.
Absolutely! You can track any number of Products (although you are limited to about 55 or so if you are using Product-Based Groups), that can each be composed of any number of Components.
A.2.4. If I am on many projects, and search for all bugs assigned to me, will Bugzilla list them for me and allow me to sort by project, severity etc?
Yes.
A.2.5. Does Bugzilla allow attachments (text, screenshots, URLs etc)? If yes, are there any that are NOT allowed?
Yes - any sort of attachment is allowed, although administrators can configure a maximum size. There are many specific MIME-types that are pre-defined by Bugzilla, but you may specify any arbitrary MIME-type you need when you upload the file.
A.2.6. Does Bugzilla allow us to define our own priorities and levels? Do we have complete freedom to change the labels of fields and format of them, and the choice of acceptable values?
Yes. However, modifying some fields, notably those related to bug progression states, also require adjusting the program logic to compensate for the change.
There is no GUI for adding fields to Bugzilla at this time. You can follow development of this feature at http://bugzilla.mozilla.org/show_bug.cgi?id=91037
A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, etc? You know, the type of stuff that management likes to see. :)
Yes. Look at http://bugzilla.mozilla.org/reports.cgi for basic reporting and graphing facilities.
For more advanced reporting, I recommend hooking up a professional reporting package, such as Crystal Reports, and use ODBC to access the MySQL database. You can do a lot through the Query page of Bugzilla as well, but right now Advanced Reporting is much better accomplished through third-party utilities that can interface with the database directly.
Email notification is user-configurable. By default, the bug id and Summary of the bug report accompany each email notification, along with a list of the changes made.
A.2.9. Can email notification be set up to send to multiple people, some on the To List, CC List, BCC List etc?
Yes.
Bugzilla email is sent in plain text, the most compatible mail format on the planet.
If you decide to use the bugzilla_email integration features to allow Bugzilla to record responses to mail with the associated bug, you may need to caution your users to set their mailer to "respond to messages in the format in which they were sent". For security reasons Bugzilla ignores HTML tags in comments, and if a user sends HTML-based email into Bugzilla the resulting comment looks downright awful. |
A.2.11. Does Bugzilla allow data to be imported and exported? If I had outsiders write up a bug report using a MS Word bug template, could that template be imported into "matching" fields? If I wanted to take the results of a query and export that data to MS Excel, could I do that?
Mozilla allows data export through a custom DTD in XML format. It does not, however, export to specific formats other than the XML Mozilla DTD. Importing the data into Excel or any other application is left as an exercise for the reader.
If you create import filters to other applications from Mozilla's XML, please submit your modifications for inclusion in future Bugzilla distributions.
As for data import, any application can send data to Bugzilla through the HTTP protocol, or through Mozilla's XML API. However, it seems kind of silly to put another front-end in front of Bugzilla; it makes more sense to create a simplified bug submission form in HTML. You can find an excellent example at http://www.mozilla.org/quality/help/bugzilla-helper.html
A.2.12. Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?
To a certain extent, yes. 2.16's templates mean that you can localise the user-facing UI (and several projects are doing exactly that.) However, error messages and the admin interface are currently not localisable. This should be achieved by 2.18.
Yes. No. No.
You have no idea. Bugzilla's query interface, particularly with the advanced Boolean operators, is incredibly versatile.
A.2.15. Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified?
Bugzilla does not lock records. It provides mid-air collision detection, and offers the offending user a choice of options to deal with the conflict.
MySQL, the database back-end for Bugzilla, allows hot-backup of data. You can find strategies for dealing with backup considerations at http://www.mysql.com/doc/B/a/Backup.html
Yes. However, commits to the database must wait until the tables are unlocked. Bugzilla databases are typically very small, and backups routinely take less than a minute.
A.2.18. What type of human resources are needed to be on staff to install and maintain Bugzilla? Specifically, what type of skills does the person need to have? I need to find out if we were to go with Bugzilla, what types of individuals would we need to hire and how much would that cost vs buying an "Out-of-the-Box" solution.
If Bugzilla is set up correctly from the start, continuing maintenance needs are minimal and can be done easily using the web interface.
Commercial Bug-tracking software typically costs somewhere upwards of $20,000 or more for 5-10 floating licenses. Bugzilla consultation is available from skilled members of the newsgroup. Simple questions are answered there and then.
A.2.19. What time frame are we looking at if we decide to hire people to install and maintain the Bugzilla? Is this something that takes hours or weeks to install and a couple of hours per week to maintain and customize or is this a multi-week install process, plus a full time job for 1 person, 2 people, etc?
It all depends on your level of commitment. Someone with much Bugzilla experience can get you up and running in less than a day, and your Bugzilla install can run untended for years. If your Bugzilla strategy is critical to your business workflow, hire somebody with reasonable UNIX or Perl skills to handle your process management and bug-tracking maintenance & customization.
A.3.1. How do I completely disable MySQL security if it's giving me problems (I've followed the instructions in the installation section of this guide)?
Run MySQL like this: "mysqld --skip-grant-tables". Please remember this makes MySQL as secure as taping a $100 to the floor of a football stadium bathroom for safekeeping.
The Bugzilla code has undergone a reasonably complete security audit, and user-facing CGIs run under Perl's taint mode. However, it is recommended that you closely examine permissions on your Bugzilla installation, and follow the recommended security guidelines found in The Bugzilla Guide.
A.3.3. I've implemented the security fixes mentioned in Chris Yeh's security advisory of 5/10/2000 advising not to run MySQL as root, and am running into problems with MySQL no longer working correctly.
This is a common problem, related to running out of file descriptors. Simply add "ulimit -n unlimited" to the script which starts mysqld.
A.4.1. I have a user who doesn't want to receive any more email from Bugzilla. How do I stop it entirely for this user?
The user should be able to set this in user email preferences (uncheck all boxes.)
A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send email to anyone but me. How do I do it?
Edit the "changedmail" Param. Replace "To:" with "X-Real-To:", replace "Cc:" with "X-Real-CC:", and add a "To: <youremailaddress>".
A.4.3. I want whineatnews.pl to whine at something more, or other than, only new bugs. How do I do it?
Try Klaas Freitag's excellent patch for "whineatassigned" functionality. You can find it at http://bugzilla.mozilla.org/show_bug.cgi?id=6679. This patch is against an older version of Bugzilla, so you must apply the diffs manually.
A.4.4. I don't like/want to use Procmail to hand mail off to bug_email.pl. What alternatives do I have?
You can call bug_email.pl directly from your aliases file, with an entry like this:
However, this is fairly nasty and subject to problems; you also need to set up your smrsh (sendmail restricted shell) to allow it. In a pinch, though, it can work.bugzilla-daemon: "|/usr/local/bin/bugzilla/contrib/bug_email.pl"
You can find an updated README.mailif file in the contrib/ directory of your Bugzilla distribution that walks you through the setup.
If you are using an alternate Mail Transport Agent (MTA other than sendmail), make sure the options given in the "processmail" and other scripts for all instances of "sendmail" are correct for your MTA.
If you are using Sendmail, try enabling "sendmailnow" in editparams.cgi. If you are using Postfix, you will also need to enable "sendmailnow".
Double-check that you have not turned off email in your user preferences. Confirm that Bugzilla is able to send email by visiting the "Log In" link of your Bugzilla installation and clicking the "Email me a password" button after entering your email address.
If you never receive mail from Bugzilla, chances you do not have sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked to, "/usr/lib/sendmail".
Red Hat Bugzilla works with Oracle. The current version from Mozilla.org does not have this capability. Unfortunately, though you will sacrifice a lot of the really great features available in Bugzilla 2.14 and 2.16 if you go with the 2.8-based Redhat version.
Run the "sanity check" utility (./sanitycheck.cgi in the Bugzilla_home directory) from your web browser to see! If it finishes without errors, you're probably OK. If it doesn't come back OK (i.e. any red letters), there are certain things Bugzilla can recover from and certain things it can't. If it can't auto-recover, I hope you're familiar with mysqladmin commands or have installed another way to manage your database. Sanity Check, although it is a good basic check on your database integrity, by no means is a substitute for competent database administration and avoiding deletion of data. It is not exhaustive, and was created to do a basic check for the most common problems in Bugzilla databases.
There is no facility in Bugzilla itself to do this. It's also generally not a smart thing to do if you don't know exactly what you're doing. However, if you understand SQL you can use the mysqladmin utility to manually insert, delete, and modify table information. Personally, I use "phpMyAdmin". You have to compile a PHP module with MySQL support to make it work, but it's very clean and easy to use.
Certain version of MySQL (notably, 3.23.29 and 3.23.30) accidentally disabled the "crypt()" function. This prevented MySQL from storing encrypted passwords. Upgrade to the "3.23 stable" version of MySQL and you should be good to go.
Try running MySQL from its binary: "mysqld --skip-grant-tables". This will allow you to completely rule out grant tables as the cause of your frustration. However, I do not recommend you run it this way on a regular basis, unless you really want your web site defaced and your machine cracked.
Well, you can synchronize or you can move bugs. Synchronization will only work one way -- you can create a read-only copy of the database at one site, and have it regularly updated at intervals from the main database.
MySQL has some synchronization features builtin to the latest releases. It would be great if someone looked into the possibilities there and provided a report to the newsgroup on how to effectively synchronize two Bugzilla installations.
If you simply need to transfer bugs from one Bugzilla to another, checkout the "move.pl" script in the Bugzilla distribution.
Remove Windows. Install Linux. Install Bugzilla. The boss will never know the difference.
Not currently. Bundle::Bugzilla enormously simplifies Bugzilla installation on UNIX systems. If someone can volunteer to create a suitable PPM bundle for Win32, it would be appreciated.
Depending on what Web server you are using, you will have to configure the Web server to treat *.cgi files as CGI scripts. In IIS, you do this by adding *.cgi to the App Mappings with the <path>\perl.exe %s %s as the executable.
Microsoft has some advice on this matter, as well:
"Set application mappings. In the ISM, map the extension for the script file(s) to the executable for the script interpreter. For example, you might map the extension .py to Python.exe, the executable for the Python script interpreter. Note For the ActiveState Perl script interpreter, the extension .pl is associated with PerlIS.dll by default. If you want to change the association of .pl to perl.exe, you need to change the application mapping. In the mapping, you must add two percent (%) characters to the end of the pathname for perl.exe, as shown in this example: c:\perl\bin\perl.exe %s %s"
Your modules may be outdated or inaccurate. Try:
Hitting http://www.activestate.com/ActivePerl
Download ActivePerl
Go to your prompt
Type 'ppm'
PPM> install DBI DBD-mysql GD
New in 2.16 - go to the Account section of the Preferences. You will be emailed at both addresses for confirmation.
The interface was simplified by a UI designer for 2.16. Further suggestions for improvement are welcome, but we won't sacrifice power for simplicity.
A.7.3. I'm confused by the behavior of the "accept" button in the Show Bug form. Why doesn't it assign the bug to me when I accept it?
The current behavior is acceptable to bugzilla.mozilla.org and most users. You have your choice of patches to change this behavior, however.
Add a "and accept bug" radio button |
"Accept" button automatically assigns to you |
A.7.4. I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?
The most likely cause is a very old browser or a browser that is incompatible with file upload via POST. Download the latest Netscape, Microsoft, or Mozilla browser to handle uploads correctly.
Gerv and Myk suggest a 2-space endent, with embedded code sections on their own line, in line with outer tags. Like this:
<fred> [% IF foo %] <bar> [% FOREACH x = barney %] <tr> <td> [% x %] </td> <tr> [% END %] [% END %] </fred> |
Myk also recommends you turn on PRE_CHOMP in the template initialization to prevent bloating of HTML with unnecessary whitespace.
Please note that many have differing opinions on this subject, and the existing templates in Bugzilla espouse both this and a 4-space style. Either is acceptable; the above is preferred.
Try this link to view current bugs or requests for enhancement for Bugzilla.
You can view bugs marked for 2.18 release here. This list includes bugs for the 2.18 release that have already been fixed and checked into CVS. Please consult the Bugzilla Project Page for details on how to check current sources out of CVS so you can have these bug fixes early!
A.8.3. How can I change the default priority to a null value? For instance, have the default priority be "---" instead of "P2"?
This is well-documented here: http://bugzilla.mozilla.org/show_bug.cgi?id=49862. Ultimately, it's as easy as adding the "---" priority field to your localconfig file in the appropriate area, re-running checksetup.pl, and then changing the default priority in your browser using "editparams.cgi".
Enter a bug into bugzilla.mozilla.org for the "Bugzilla" product.
Upload your patch as a unified diff (having used "diff -u" against the current sources checked out of CVS), or new source file by clicking "Create a new attachment" link on the bug page you've just created, and include any descriptions of database changes you may make, into the bug ID you submitted in step #1. Be sure and click the "Patch" checkbox to indicate the text you are sending is a patch!
Announce your patch and the associated URL (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in the newsgroup (netscape.public.mozilla.webtools). You'll get a really good, fairly immediate reaction to the implications of your patch, which will also give us an idea how well-received the change would be.
If it passes muster with minimal modification, the person to whom the bug is assigned in Bugzilla is responsible for seeing the patch is checked into CVS.
Bask in the glory of the fact that you helped write the most successful open-source bug-tracking software on the planet :)