Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

This page is oriented to the SpamAssassin development community. 

For help on how to report bugs effectively as a SpamAssassin user, see Bug Writing Guidelines.

Opening Bugs For Development

...

The general practice is to \[http://bugzilla.spamassassin.org/ open a bug\] when some task needs to be done, even if there is no "bug" involved; it's really a "task tracker", not a "bug tracker". The idea is to provide a "thread" of discussion and a place to track development.

That way, when a developer is later reading the code, and wondering why a certain database design is used (for example), they can look up a bug number referenced in a comment, and see the entire discussion thread for that design decision.

...

(consider this an example of how the milestones are used, assuming that in this example we are somewhere between the 3.0.x and 3.1.0 releases. there's no need to update this example for every future release...)

  • 3.1.0: next major release (also see ReleaseGoals)
  • 3.1.1: next minor release (bug fixes and minor things that we'd like to get fixed, but don't want to hold up 3.1.0 for them)
  • 3.2.0: next major release
  • Undefined: no milestone set
  • Future: maybe at some point in the distant future

Bug Triage

Here is how you handle bug triage:

  • mark duplicated bugs as duplicate
  • try to confirm bugs
  • test submitted rules with promise (see AutoMassChecks)
  • ask users for additional information as needed (sooner is better if you want a response), you can use the moreinfo keyword to denote bugs awaiting a response
  • set the severity (how bad does it affect things, is it an enhancement request, etc.)
  • close bugs already fixed (when possible, this is mostly done by developers, but sometimes it's obvious or easy to tell)
  • close bugs that are invalid.
  • if you can reproduce a bug under the current svn, update the Version flag if not already set to svn.
  • when any of the above is being done, and you're not yet ready to set a milestone or close a bug, then flag the bug with a keyword "triage". This will indicate to other triagers that the bug is already undergoing triage.

Severity describes the impact of the bug, and is often set by the submitter. The only really important value here is 'blocker' or 'critical', both of which indicate that the bug should block further releases until it's fixed.

...

When taking a bug in Bugzilla (i.e. assigning it to yourself), please go ahead and make sure dev@spamassassin.apache.org is in the CC list. That way bug discussion is out in the open.

Tagging Bugs

...

Generally in addition to using \[http://bugzilla.spamassassin.org/describekeywords.cgi Keywords\], we use the "Status Whiteboard" field to give a quick overview of what the status of the bug is.


Wiki Markup
Bugs that need peer review are usually tagged with \[review\] in the subject as this makes it more obvious when reading the dev list that a bug needs review. This should maybe be a keyword also?

...

  • FIXED: it's now fixed in SVN – this is usually used when a commiter checks in a fix for the bug.
  • INVALID: it's not actually a bug report, or not something related to SpamAssassin – "SpamAssassin doesn't work!" or "I can't install SpamAssassin"
  • WONTFIX: the report proposes something that we do not want to fix either for technical or philosophical reasons – "SpamAssassin should do anti-virus scanning"
  • WORKSFORME: it's not reproducible, or the reported behaviour seems to be as designed
  • LATER: this might be something we should look at in the far future, but for now its infeasible or undesirable – seldom used
  • REMIND: we don't generally use this

Removing Spam Bugs

Deleting a bug that is spam can only be done by someone who has Administrator access to our Bugzilla. See RemovingBugzillaSpam.