Tech:Bug Database

From Cyclopath

Jump to: navigation, search

Contents

[edit] Where is it?

[edit] Access control

Some bugs (e.g. private data, research, etc.) are private to GroupLens members. This is indicated in bug pages by a check under Restrict Group Visibility called GroupLens members; if checked, the bug is private. Such bugs also show up with a lock icon in search results.

[edit] Workflow

This diagram shows the typical workflow. See doc/bugzilla.dia for the source.


Image:Bugzilla.png


Note that Cyclopath team members can triage their own bugs -- feel free to enter directly into NEW.

[edit] What the statuses mean

UNCONFIRMED 
the bug has been reported, but no one on the Cyclopath team has confirmed it
OPEN 
the bug is open (and perhaps being worked on)
RESOLVED 
the developer believes work is complete, and is requesting review
VERIFIED 
the bug is ready for merging into the trunk
CLOSED 
all work is complete and the fix has been merged to the trunk (if appropriate)

[edit] Branch master bugs

  • Often, branches involve multiple bugs. In this case, only one -- the branch master -- must go through the RESOLVED, VERIFIED review cycle. The others, which must be set to block the master bug, can go directly to CLOSED.
  • Feel free to request review on non-branch-master bugs as well. In this case, whoever is in charge of the branch should set such bugs to CLOSED after the reviewer signs off.
  • See http://bugs.grouplens.org/show_bug.cgi?id=937 for an example of a branch master bug.

[edit] Severity and Priority

Importance of a bug on Bugzilla is a combination of priority and severity as described here: http://bugs.grouplens.org/page.cgi?id=fields.html#importance. Anybody filing a bug in the UNCONFIRMED state must not set any of these fields, i.e. let them be at their default values of P3 and "normal". These fields are set by someone from the Cyclopath team when the bug is confirmed and moved to the NEW state.

[edit] General meanings

  • Priority is schedule. When is the fix to this bug scheduled to get released?
  • Severity is impact. It is an assessment of the impact of the bug on the working of the software.

[edit] Cyclopath-specific meanings for development purposes

Priority Meaning
P1 Fix has top priority and will go directly to production, bypassing the normal release schedule.
P2 This bug blocks the next release.
P3 Fix is planned soon, i.e. within the next few releases.
P4 Fix is planned but not scheduled.
P5 No current plans to address this bug.
Severity Criteria (any of)
blocker not used
critical
  • Makes the feature in question unusable or mostly so
  • Causes data loss
  • Is a security hole
  • Breaks unrelated features or the whole system
  • Blocks further development/testing of unrelated features
major
  • Bug or missing feature has a large impact on the usability of a feature or subsystem, without rendering it completely unusable
  • Cleanup with large impact on the quality of the code or ease of development
normal
  • Typical bug (i.e., one that doesn't fit other criteria)
  • Missing feature that would make the system significantly more attractive or useful
  • Cleanup that would significantly improve the quality of the code or ease of development
minor
  • Bug which doesn't affect a feature's usefulness
  • Missing feature that has limited impact on the progress of Cyclopath
trivial not used
enhancement not used

(Modeled after the Debian bug severity levels, [1].)

[edit] Examples

Note that the priority is correlated with severity but somewhat arbitrary.

  • History browser makeover: P4, major
  • Saving in regions with multiple watchers fails (grpbug:1358): P1, critical
  • Spelling mistake in the home page: P1, minor
  • Spelling mistake in help text that is buried in the app: P2, minor
  • Labeling basemap polygons in vector mode: P5, minor

[edit] Custom fields

Bugzilla has a couple of custom fields.

SVN branch 
the Subversion branch where work resides
Merged in r 
the trunk revision when the branch was merged
  • Note: It is no longer necessary to record the branch revision when a bug was fixed. This is well-accomplished with the branching model, and often a bug is fixed in several revisions, so reporting a single fix revision isn't really meaningful.

[edit] Guidelines

  • All discussion about a bug should happen in Bugzilla: this ensures that when you look at a bug you get the full story. Bugzilla has an e-mail gateway (FIXME: soon) so that you can just reply to bugmail and it will go into the bug.
    • However, do not hesitate to draw attention to a bug and ask for comment.

[edit] Switch from Roundup

[edit] Why?

The main advantages of Bugzilla over Roundup are:

  1. Bugzilla is well-maintained, actively developed, and has a large and active user community. Roundup has none of these things.
  2. Bugzilla is better-documented.
  3. Bugzilla gets regular security attention.
    • This means that Reid is comfortable making our bug database publically accessible: helpful for transparency, and ess
  4. Bugs can depend on/block one another.
  5. Supports bulk changes of bugs using the normal web interface.
  6. Rich will maintain/support the install, not Reid.

[edit] Differences

  1. Bugmail no longer all goes to grpcycling; just a daily summary and e-mail about unassigned bugs. If you want to be notified immediately and in detail about changes on any bug, add yourself to the CC list.
  2. Strings of the form "bug 123" are now autolinked in comments and perhaps other places, so use that now instead of the old form "#123".
  3. The workflow has different names (see above). In particular, the status mappings are:
Roundup status     Bugzilla status
--------------     ---------------
unverified      -> UNCONFIRMED
fixed           -> CLOSED
open            -> ASSIGNED or NEW or REOPEN
passe           -> CLOSED
fixed-in-branch -> VERIFIED
invalid         -> CLOSED
worksforme      -> CLOSED
needs-review    -> RESOLVED
other           -> CLOSED

Roundup      Bugzilla
priority     priority
--------     --------
critical  -> P1
important -> P2
normal    -> P3
minor     -> P4
wishlist  -> P5 
Personal tools