Bugzilla Guide

From NeoWiki

Revision as of 17:34, 19 May 2007 by Sardisson (Talk | contribs)
Jump to: navigation, search

A guide to filing and triaging bugs in the NeoOffice Bugzilla

Contents

I've found a bug or have a feature request for NeoOffice. What should I do?

Before reporting a bug in NeoOffice...

  1. Make sure you are using the latest patch; visit http://www.neooffice.org/neojava/patch.php to download the latest patch. Our talented volunteer developers are constantly fixing bugs, and your bug might have been fixed already.
  2. Disable or uninstall any "haxie" software, such as InputManagers, SIMBL "plugins", or haxies that use Unsanity's Application Enhancer (APE) framework.
  3. See if you can reproduce the bug (repeatedly cause the bug to occur); bugs that are not reproducible are very difficult to fix.
    1. See if the bug is reproducible after rebooting your Mac.
    2. See if the bug is reproducible "with a fresh profile"; sometimes your user settings can become corrupt and cause a bug. Move your user's ~/Library/Preferences/NeoOffice-2.1 (~/Library/Preferences/NeoOffice-2.x for NeoOffice 2.0) folder to another location and restart NeoOffice.
    3. If you have access to the X11 version of OpenOffice.org, see if the bug reproduces in the corresponding X11 version (e.g., NeoOffice 2.0 Aqua Beta is equivalent to OpenOffice.org/X11 2.0.3 and NeoOffice 2.1 is equivalent to OpenOffice.org/X11 2.1); if so, file a bug report in the OpenOffice.org IssueZilla instead, since it is an OpenOffice.org bug.
  4. If the problem persists, file a bug, following the guidelines below.

Feature and Enhancement Requests

The NeoOffice New Features Program has recently been launched to allow users to nominate and fund the addition of new features to NeoOffice or the enhancement of existing features. Please see the NeoOffice New Features Program web page and the New Features Program forum on trinity for more information.

Fixing bugs in OpenOffice.org features is outside the current scope of the project. Similarly, most enhancements need to be implemented in shared cross-platform OpenOffice.org code and should be filed in the OpenOffice.org IssueZilla instead.

Filing a bug report in the NeoOffice.org Bugzilla

If you do not already have an account on the NeoOffice Bugzilla, you will need to create one before reporting a bug.
N.B. Accounts on Bugzilla are separate from any other NeoOffice accounts you might have (e.g. Early Access Program, trinity, or this wiki).

  1. Before filing a bug, search for a duplicate to make sure the bug hasn't already been reported.
    1. Select Query Bugs from the main page of Bugzilla.
    2. Select NeoOffice from the Project menu and enter search terms.
      • Do not reopen similar-sounding bugs reported against older versions of NeoOffice (e.g., bugs filed against NeoOffice/J 1.1 or NeoOffice 1.2.2—any bug with a number of 1000 or lower and/or closed before April 2006, since the Bugzilla interface will display the version field incorrectly on old bugs); in almost all cases, the bug is not the same, and adding additional information will only serve to confuse the issue. Instead, file a new bug and mention in the new report that your bug sounds similar to bug nnnn that was reported against NeoOffice version nn.
      • If you find a current (Unconfirmed, Reproducible but not assigned, Assigned, or Reopened) bug that sounds like the bug you want to report, you can add yourself to the CC list to be notified of new developments and test patches. If the bug is Unconfirmed (and sometimes on Reopened bugs) and you have more information that would help confirm the bug (e.g., alternate steps to reproduce), feel free to add a comment with that information as well.
  2. When filing a bug, include only one issue (bug) per report; this makes it easier to track and fix bugs.
  3. Make sure you select the appropriate version of Mac OS X and include the patch version of your NeoOffice application
    This helps us determine if the bug only exists on a particular version of Mac OS X—as is often the case; early "point" releases of 10.4 seemed particularly buggy—and at which patch level the bug began to appear. Do not select "All" as the OS version unless you can reproduce the bug on Mac OS X 10.3.9 and Mac OS X 10.4.x PPC or on Mac OS X 10.4.x PPC and Mac OS X 10.4.x Intel.
    • The patch level is located in the "About" box accessible from the NeoOffice menu; if you are not using the latest patch, you will be instructed to install the latest patch and your bug may be closed.
    • The Mac OS X version is located in the "About This Mac" box accessible from the Apple menu
  4. Provide detailed steps to reproduce (cause) the bug; developers will need these steps to help them determine what causes the bug so that they can fix it.
    Note that OpenOffice.org and thus NeoOffice is a huge program, and the developer or QA team member working on your bug may not be familiar with the part of the program in which you've discovered the bug. Thus the more detailed steps you can supply, the more likely someone will be able to do something useful with your bug report.
  5. Attach supporting documents (screenshots, crash logs, sample documents, etc.) after submitting the bug; the "Create New Attachment" link is only present after the bug is submitted.
    • Attach a screenshot, if relevant
    • Attach the problematic document, if relevant, or email it to Patrick if it is sensitive
      N.B. Add attachments separately from comments (adding an attachment wipes out unsubmitted comments)
  6. If you are reporting a crash or a hang (beachball), attach (do not paste into the comments) a crash log or a sample; see instructions below.
  7. Do not change the "Status" or "Assigned To" fields; changing these will ensure that your your bug becomes lost. NeoOffice engineers or triage team members will evaluate your bug, attempt to reproduce it themselves, and often ask you for more information. Afterwards, the engineer/triager will adjust the "Status" and "Assigned To" fields appropriately (see below for more information on that process).

Obtaining a crashlog or sample

Obtaining a crashlog when NeoOffice crashes

  • Option A: is CrashReporter enabled?
    Mac OS X has a great application called CrashReporter which generates crash reports when applications crash. It is enabled by default on Mac OS X.
    1. When the dialogue stating "The application NeoOffice has unexpectedly quit" (or "The application soffice.bin has unexpectedly quit") appears, click the "Submit Report..." button.
    2. Copy the entire contents of the "Crash Report:" text box. Open the TextEdit application; from the menu bar select File then New to create a new document, next from the menu bar select Format and then Make Plain Text; now paste the text into window. Save file, naming it crash_log.txt. (This is a plain-text document.)
    3. Once you've saved the text file, you can dismiss the Crash Report dialogue.
      N.B. The wording of the dialogues vary between major Mac OS X versions.
    4. Attach this crashlog to the bug you filed.
  • Option B: the hard way (you've probably disabled CrashReporter)
    1. Open the Console application, located in the Utilities subfolder of the Applications folder.
    2. Click on the "Logs" toolbar icon if the logs drawer isn't showing on the left.
    3. In the list of logs on the left, select "~/Library/Logs" then "CrashReporter" then "soffice.bin.crash.log"
    4. Locate the appropriate log entry for the most recent crash. It should be the one at the bottom. Each individual crash log entry is separated by a line of asterisks from the next one above it; each entry has a date at the top of it.
    5. Select the entry, from the "Host name" down to the end of the entry and paste into a new plain-text document (in the TextEdit application, create a new document and choose Make Plain Text from the Format menu).
      N.B. The format of the crashlog varies between major Mac OS X versions.
    6. Attach this crashlog to the bug you filed.

Obtaining a sample when NeoOffice hangs (displays the spinning beachball)

  1. Do not "force quit" NeoOffice
  2. Open the Activity Monitor application, located in the Utilities subfolder of the Applications folder.
  3. On launch, Activity Monitor should display a window listing various "processes" that are running on your Mac.
  4. Select NeoOffice from the list of running processes.
  5. Click the "Inspect" button.
  6. In the window that opens, click the "Sample" button in the lower left corner; this will generate a "sample" that will help the developers determine why NeoOffice entered the hung state.
  7. When the sample is complete, save the file; you may now close the sample window and force quit NeoOffice.
  8. Attach the saved sample to the bug you filed.

In some cases, a Shark profile will be more useful. If the developers ask you for a Shark profile, instructions on capturing one are available in this post on trinity.

Further Reading on Reporting Bugs

The following documents written by others provide further discussion of general "good bug-filing" practices:

Life-cycle of a Bug

This section explains each of the "states" a bug can have in Bugzilla and how bug moves from state to state. Both Bugzilla's "Status" and "Resolution" fields are explained.

Unconfirmed

All bugs begin with a status of "Unconfirmed" and a resolution of "None".

From "Unconfirmed", bugs usually end up "Reproducible but not assigned" if they are reproducible problems specific to NeoOffice, "Closed" as "Duplicate" if another bug covering the same problem has already been reported, or "Closed" as "OpenOffice.org bug" if the bug also exists in the equivalent version of OpenOffice.org/X11. Bugs "Closed" as "OpenOffice.org bug" should be entered by the reporter in the OpenOffice.org IssueZilla in order to ensure the OpenOffice.org developers responsible for the issue fix it, and the person closing the bug should prompt the reporter with this information:

Closing as this is an OpenOffice.org bug as the bug occurs in OOo 2.1. [or whatever the version of OOo is that is equivalent to the current version of NeoOffice]

Unfortunately, the current scope of the NeoOffice project is limited by resources to keeping a native version of OpenOffice.org running on Mac OS X and fixing OpenOffice.org feature bugs is outside that scope.

You can report the feature request in the OpenOffice.org issue tracker to get it on the radar of the core OpenOffice.org developers: http://qa.openoffice.org/issue_handling/pre_submission.html).

Sometimes "Unconfirmed" bugs are also "Closed" as "Not a bug" (if a feature works as designed, even if that is not the way the reporter thinks it should work), "Closed" as "Won't fix" (most often bugs in Mac OS X or Java, which can't be fixed except by Apple, or feature enhancements), or "Closed" as "Works for me" (if no one else can reproduce the bug and/or there is insufficient information in the bug report to determine the cause). In 2005 and 2007, additional resolutions were added to cover bugs in external code not derived from OpenOffice.org itself or when there is insufficient information and the reporter is non-responsive. See the Closed section below for more on when and how to use these resolutions.

Duplicates

When bugs are "Closed" as "Duplicate", the number of the duplicated bug is added to the "Add Dependency" field of the bug that is being closed, e.g., if bug 1060 is a duplicate of bug 1048, enter 1048 in the "Add Dependency" field of bug 1060 when setting it to "Closed".

Bugs can be duplicates of other bugs that are "Assigned", "Fixed" (if the reporter is not using the latest version or patch), "Reproducible but not assigned" (formerly "New"), or "Closed" (all resolutions except "Duplicate"; a bug cannot be a duplicate of a duplicate, so the bug is marked as a duplicate of the original bug).

If a bug is a duplicate of another "Unconfirmed" bug, that is sometimes enough to warrant changing the the first bug to "Assigned"—but see below for additional items a bug really should have before being set to "Assigned". In the case of two "Unconfirmed" bugs that are duplicates of each other, usually the oldest bug is set to "Assigned" and the newer one marked as the duplicate. However, if the newer bug has a clearer bug report, more information, supporting documents, etc., then the newer bug should be set to "Assigned" and the older one closed as a duplicate of the newer one.

Reproducible but not assigned

This status (formerly "New") is for bugs that have been successfully reproduced by a member of the triage team. Generally bugs need a clear set of instructions to reproduce the problem as well supporting "documentation" (screenshot, sample document, Mac OS X crashlog or sample, etc.) before they are changed from "Unconfirmed" to "Reproducible but not assigned". Developers then will query this list of bugs and assign bugs to themselves as they have time to fix the bugs, focusing on the most critical bugs first.

This status is also a holding place for bug that the developers intend to fix but for one reason or another cannot fix at the moment; these bugs carry the resolution "Deferred".

Often bugs are assigned this status ("Reproducible but not assigned" with resolution "Deferred") due to problems in supporting software (Mac OS X or Java) that we know are resolved in a future version of the supporting software and can be fixed when users or NeoOffice upgrade to the newer version.

Assigned

Bugs that are actively being worked on by a NeoOffice developer have status "Assigned", and the "Assigned To" field will show the email address of the developer working on the bug.

Most "Assigned" bugs are changed to status "Resolved" with a resolution of "Fixed", but bugs that cannot be fixed at the moment, or that can be fixed but are of a low priority and are not actively being worked on, are changed to "Reproducible but not assigned" (formerly "New") with a resolution of "Deferred". "Assigned" bugs can also be changed to "Closed" as "Not a bug" or "Closed" as "Won't fix" after the developer investigates the issue and determines the problem lies elsewhere or cannot be fixed.

"Assigned" bugs that a developer has fixed often remain in the "Assigned" state (recently as "Assigned" with resolution "Fixed" to help them stand out in large "Assigned" lists) until the fix appears in an official patch, at which point they are set to status "Resolved" and resolution "Fixed" (and, once the fix appears in a completely new binary, to status "Closed" and resolution "Fixed"); in any case, only developers should modify the status or resolution of bugs that are "Assigned" or "Resolved".

Resolved

Bugs that are fixed are "Resolved" as "Fixed" once the developer has coded a solution that fixes the bug and has released an office "patch". If a patch does not fix a bug, it becomes "Reopened"; once the fix for the bug has been included in a full downloadable build of NeoOffice (a "release", such as NeoOffice 2.1), a bug is "Closed". (Only the release engineer should change a bug from "Resolved Fixed" to "Closed Fixed"; this ensures that the fix is present in the final release and no bug gets overlooked.)

Reopened

If a bug that was "Resolved" as "Fixed" turns out not to have been fixed by a patch, the reporter of the bug should change the bug's status to "Reopened" and set the resolution back to "None".

If a bug that was "Closed" as "Works for me" is still present and the reporter has new information or better steps to reproduce the bug, it should also be changed to "Reopened" and "None" (technically it should be set back to "Unconfirmed" and "None" until someone can reproduce the bug, but our bugzilla is "manual" and doesn't have the "automatic" logic to do that).

Closed

"Closed" is the final status of all bugs in the NeoOffice Bugzilla. Bugs that have been fixed and whose fixes have appeared in a full release of NeoOffice are set to "Closed" and "Fixed".

Bugs that were "Closed" without being fixed have one of the following resolutions:

  • "Closed" as "Duplicate", if another bug covering the same problem has already been reported; see the subsection on Duplicates under "Unconfirmed" for more information
  • "Closed" as "OpenOffice.org bug", if the bug also exists in the equivalent version of OpenOffice.org/X11.
    Reporters should be prompted to file the bug in the OpenOffice.org IssueZilla, since NeoOffice developers do not have the time to forward all of these bugs back to OpenOffice.org.
  • "Closed" as "Not a bug", if a feature works as designed, even if that is not the way the reporter expects the feature to work, or if the bug is caused by third-party software (other than the specific software with custom resolutions in Bugzilla, e.g. "Mac OS X bug").
  • "Closed" as "Won't fix", usually when the bug is really in Mac OS X or Java, which can't be fixed except by Apple, or bugs which want a behavior not desired by the developers or the majority of the userbase.
  • NEW "Closed" "Mac OS X bug", if the issue is caused by a bug (or feature) of Mac OS X.
  • NEW "Closed" "ooo-build bug", if the issue is caused by a bug (or feature) of code integrated from the ooo-build project (Excel VBA macros, Calc Solver).
  • NEW "Closed" "odf-converter bug", if the issue is caused by a bug (or feature) of code integrated from the odf-converter project (MS OpenXML import/export).
    Bugs closed as "ooo-build" or "odf-converter" bugs should be reproducible, with necessary supporting documentation. NeoOffice developers will periodically query these bugs and either fix the bugs or forward them to the appropriate project's bug tracker.
  • NEW "Closed" "Insufficient info", if the issue cannot be reproduced with the existing comments from the reporter and prompting the reporter for more information has produced no results.
  • "Closed" as "Works for me", if no one else can reproduce the bug or if something that seemed to be a bug suddenly seems fixed with no clear fix on the part of NeoOffice developers.

Verified

This status is not used at all in the NeoOffice Bugzilla. Unless a "Fixed" bug is set to "Reopened", the bug is assumed to be fixed, so there is no need to 'verify' that it is fixed.

Chart

The following chart provides a graphical explanation of a bug's life-cycle. N.B. A number of the resolutions marked NEW above are not shown on this chart.

Life-cycle of a Bug


http://sixthcrusade.com/images/2/27/Bugzilla_lifecycle_th.jpg

Click for full-sized image (93 KB)


This article in other languages: Français
Personal tools