Bugzilla Guide

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 18:45, 18 May 2006 (edit)
Sardisson (Talk | contribs)
(Assigned - clarify when and who changes states of Assigned bugs)
← Previous diff
Revision as of 18:46, 18 May 2006 (edit) (undo)
Sardisson (Talk | contribs)
(Assigned - tweak)
Next diff →
Line 81: Line 81:
Most "Assigned" bugs are changed to status "Resolved" with a resolution of "Fixed", but bugs that cannot be fixed at the moment are changed to "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. Most "Assigned" bugs are changed to status "Resolved" with a resolution of "Fixed", but bugs that cannot be fixed at the moment are changed to "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.
-Most "Assigned" bugs that a developer has fixed remain in the "Assigned" state 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".+"Assigned" bugs that a developer has fixed often remain in the "Assigned" state 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".
===New=== ===New===

Revision as of 18:46, 18 May 2006

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.planamesa.com/neojava/patch.php to download the latest patch. Our talented volunteer developers are contstantly fixing bugs, and your bug might have been fixed already.
  2. 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-1.x 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 1.2 Alpha is equivalent to OpenOffice.org/X11 1.1.5); if so, file a bug report in the OpenOffice.org IssueZilla instead, since it is an OpenOffice.org bug.
  3. If the problem persists, file a bug, following the guidelines below.

Feature and Enhancement Requests

We are not currently taking requests for new features or enhancements to existing features. Due to the rapid changes in the nature of the Macintosh platform and the available developer time and resources, the scope of the NeoOffice project is limited at this time to keeping a native version of OpenOffice.org running on Mac OS X. See this thread on trinity for more details.

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

  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.
  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; 10.4 seems particularly buggy—and at which patch level the bug began to appear.
    • The patch level is located in the "About" box accessible from the NeoOffice menu
    • 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.
  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.

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 and paste into a new plain-text document (in TextEdit, create a new document and choose "Make Plain Text" from the "Format" menu).
    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 TextEdit, 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.


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 "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; see bug 1092, bug 1164, and bug 1228 for examples of such "prompts").

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 "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). NEW As of January 2005, there is a new "Mac OS X bug" resolution to use when closing an issue that is caused by a bug (or feature) of Mac OS X.

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), "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.

Assigned

Bugs that can be reproduced by a developer or a member of the triage team are changed to the status "Assigned" and assigned to the relevant developer to fix. 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 "Assigned".

Most "Assigned" bugs are changed to status "Resolved" with a resolution of "Fixed", but bugs that cannot be fixed at the moment are changed to "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 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".

New

This status is for bugs 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 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. Some bug are also marked "New" because they are fixable but there is not enough developer time or manpower to fix them at the moment and other bugs or development priorities are more important.

Resolved

Bugs that are fixed are "Resolved" as "Fixed" once the developer has coded a solution that fixes the bug. In time the developers will issue a "patch" that includes the fix so that users can check and ensure the bug has been fixed. 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 1.2 Alpha or NeoOffice/J 1.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". Similarly, if a bug that was marked "Closed" in a certain release of NeoOffice has reappeared in a later release of NeoOffice, it, too, should be changed to "Reopened" and "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
  • "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
  • "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.
  • "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

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.

Life-cycle of a Bug



Click for full-sized image (73 KB)
Personal tools