Target Management Bug Process

This documents how the Target Management Project uses Bugzilla to handle bug reports, enhancement requests, patches etc. It covers basic lifecycle information and clarifications for how to use the various Bugzilla fields.

Interesting Bugzilla Queries

Contributions and IP Review

  • Indigo contributions candidates: Non-committer attachments that are not flagged iplog+ and not an image, on any bug modified since 1-Jun-2010.
    • Use this to find additional candidates to mark iplog+, then use the IP Log Tool to filter-out bogus iplog+
    • Also helpful to generally find contributions not yet attended to (for follow-up with the submitter)
    • This query does not find code submitted as a bugzilla comment - these are very rare, Wayne's contribution review tool might find them

Planning and feature work

Bugfix and Contribution work

Bugs assigned to committers or contributors

QA queries

Reports for Release Review

Reports and queries needed less frequently

Bug Lifecycle

Everybody - users and developers - may apply for a Bugzilla account and submit bug reports or enhancement requests.

Once the bug report is filed, contributors and committers work on it, including updates to bug status. All users may contribute to the discussion by adding comments (but typically not change the status fields). The Eclipse Process Guidelines contain some good information and a handy diagram for understanding the lifecycle of an issue in Bugzilla.

How to defer bugs

In our Committer Meeting on 23-May 2006 we decided on the following strategies for deferring bugs. This was later amended according to bug 178923 by adding a "Future" milestone. The main goal of these guidelines is to be able and write good bugzilla queries that allow us avoid looking at deferred bugs again later. So here is the process:

  • Set the Priority according to personal judgement of importance: Even bugs with a high priority can be deferred to an upcoming release if time just dont permit fixing them.
  • Set Resolved, Resolution=INVALID for requests that do not make sense.
  • Set Resolved, Resolution=WONTFIX for bugs that we will supposedly never address e.g. because there is a suitable workaround or the effort is just too high although the request makes sense.
  • Set Target Milestone=Future for bugs that make sense but are too much effort for the current release. They should be triaged again for the next release, and perhaps be documented as known limitations in the release notes. Such bugs will typically be in NEW state and assigned to tm.rse-inbox@eclipse.org or tm.core-inbox@eclipse.org.
  • Assign the bug to a developer and set the target milestone for bugs that we want to address in the current release cycle.
  • Assign bugs to the org.eclipse.tm.rse-inbox@eclipse.org with the default target milestone="---" if you have no idea what to do with a request and also dont know who else could handle it. It will triaged again by all committers together in the next committer meeting. Please do this as a last resort, though, since looking multiple times at the same bug is unnecessary effort; and add a comment with your thoughts on the bug.

How to verify and close

  • Bugs that are set RESOLVED are candidates for verification.
  • Ideally, the person who filed a bug should also verify it and set it to VERIFIED if OK.
  • During the final release test cycle, all RESOLVED and even VERIFIED bugs will be checked again. If they pass the test, they will be set CLOSED.
  • Enhancement requests and applied patches can also be set CLOSED right after checkin, especially if they do not apply to testable product functionality but rather some code cleanliness.

Clarification of Fields

  • Platform and OS: These should be set by the submitter of a bug to describe the platform and OS on which a bug was detected. This does not mean that the bug would occur only on this particular platform.
    • Use Platform All only if you have good evidence that a bug actually occurs on all platforms.
    • When you are sure that a bug occurs only on a particular platform, please indicate so in the Summary field by adding a tag lice [mac] or [linux]

  • Summary field: We use tags in square brackets to indicate certain categories of bugs. Please use the following tags as indication:
    • [api] - API problem (typically not user visible)
    • [apidoc] - API documentation issue
    • [doc] - User documentation issue
    • [linux] - Bug occurs on Linux only
    • [mac] - Bug occurs on MacOS X only
    • [persistence] - RSE Persistency support issue
    • [ssh] - Bug occurs on ssh subsystem only
    • [team] - RSE Team support issue
    • [updating] - Problem with update status of items in RSE
    • [windows] - Bug occurs on Windows only

Submitting a Patch

Every user may submit a patch for an issue he finds, by attaching the code to the corresponding Bugzilla item. Submitting patches turns the ordinary user into a contributor, for which he or she will be given credit to.
Please attach only patches on bugzilla for which you have the right to attach them. In the typical case, if you put a legal notice like the following alongside your contribution, it will speed up the contribution process:

Legal Message: I, {name}, declare that I developed attached code from scratch, without referencing any 3rd party materials except material licensed under the EPL. {I am authorized by my employer to make this contribution under the EPL.}

If this message does not apply for you (e.g. because you did use 3rd party materials), please contact the tm-dev@eclipse.org Developer Mailing List to seek assistance of a committer.
Once your contribution is attached to Bugzilla, a committer will pick it up and follow the Committer HOWTO guidelines to merge your contribution. code without being allowed to do so by the copyright owner).

Testing, tips and tricks for bug finding