Triage

Revision 49 as of 2008-05-08 14:04:59

Clear message

In a hospital, triage happens the instant a patient arrives through the emergency room doors. His vital signs are checked, his status assessed, and he gets sorted in amongst all the other patients waiting for treatment.

Bug triage is a lot like that. Without any risk of death.

Ubuntu receives an incredibly large number of bug reports every day through our BugTrackingSystem. Each one of these needs to be read, assessed, and sorted before being fixed. This is where we could use your assistance with HelpingWithBugs.

Untriaged bugs

[https://launchpad.net/ubuntu/+bugs?field.searchtext=&orderby=-datecreated&field.status%3Alist=Unconfirmed&field.importance%3Alist=Undecided&assignee_option=none&field.assignee=&field.owner=&field.component=1&field.component=2&field.component-empty-marker=1&field.omit_dupes.used=&field.omit_dupes=on&field.has_patch.used=&field.has_no_package.used=&search=Search Untriaged bugs] can be found via this link. Once a bug has been triaged it will no longer show up in this search.

You can use the Advanced search in the BugTrackingSystem to find untriaged bugs for a specific package. Go to the source package's bugs advanced search page and look for:

  • Status: New

  • Importance: Undecided

  • Assigned to: Nobody

New bugs

Every bug report is a conversation with the reporter. The first contact any reporter usually has with Ubuntu is through a bug triager, who tries to put together a complete bug report. It's fairly important that we give a good impression, so please be polite and try to use your best English.

In order to help triage bugs, you have to be able to find them. Fortunately, this is easy. You can find out about new reports in one of three ways:

The first method is far more preferable, as you won't get a mailbox stuffed full of mail each time you read it. I tried the third option for a while and couldn't keep up at all.

When you enter #ubuntu-bugs-announce, you'll soon see the following types of messages fly by:

New bug: #1 in Ubuntu "Microsoft has a majority market share" [Undecided,New] http://launchpad.net/bugs/1

To start, just pick one of the recent ones and open the link in your favourite browser. If no one else has commented yet, then this bug could be yours!

Include(Bugs/MarkingDuplicate)

Apport crash reports

A considerable number of bugs concern program crashes which are reported semiautomatically with [https://wiki.ubuntu.com/Apport Apport] and get pre-processed automatically by some bots in the Canonical data center. These bots try to generate a fully symbolic stack trace and check for duplicates.

In Feisty and early Gutsy, those bugs were public, so that everyone can see them. This created a privacy problem, though, since core dumps and stack traces could contain potentially sensitive information. Also, crash reports generate a lot of bug email noise. With the automatic duplicate checking, a fair amount of the reported bugs are completely irrelevant for triagers.

In current Gutsy, these problems [https://wiki.ubuntu.com/CrashReporting have been mitigated]: bugs are filed with the "private" flag enabled, i. e. only the reporter and subscribers can see it. The reprocessing bots will subscribe the ubuntu-bugcontrol team, but without sending bug email to the team members.

Thus crash bugs differ from other bugs in two important aspects: they need to be checked for sensitive data, and there will not be any initial bug mail for them until they become public. Triagers should check the following things:

  • If the crash still has a CoreDump.gz attachment, then it was not possible to automatically get a fully symbolic stack trace and check for duplicates. In this case, the bug will be tagged with [https://bugs.launchpad.net/ubuntu/+bugs?field.tag=apport-failed-retrace apport-failed-retrace]. If the stack trace looks good enough, the CoreDump.gz attachment should be removed with the (edit) link in the attachment box. If the retrace failed completely, just leave the bug alone.

  • If there is no Stacktrace.txt (retraced) attachment, then the most probable reason is that the CoreDump.gz attachment is broken. Please check with Martin Pitt (pitti in IRC, martin.pitt@ubuntu.com) about the reason, he can look into log files.

  • Check if the Stacktrace.txt (retraced) attachment has anything that looks like sensitive data passed as function arguments. Examples are passwords, things that look like bank account numbers, CSS keys, etc. If you don't find anything, you may mark the bug as public ("Visibility/security" in the top left pink box). This is not required, though, it is fine to keep the bug private throughout its lifetime.

Except for those privacy issues, crash reports should be handled like normal bugs in terms of duplicate searching/marking, upstream forwarding, etc.

Include(Bugs/Improving)

Confirming

When you have a complete report, and there is enough information to debug the program, you can confirm the report. How do you know there is enough information? Here are some example criteria, ANY of which is sufficient:

  • Is there a patch that claims to fix the bug?
  • Are there sufficient log files and crash dumps, as outlined in DebuggingProcedures?

  • Can you reproduce the bug yourself?
  • Does another distribution have a complete and confirmed bug?
  • Does the upstream author have a complete and confirmed bug?

If ANY of these conditions are satisfied, you can Confirm the report. To do this:

  • Change the "Status" field to "Confirmed".
  • Assign the appropriate "Importance" value, according to ["Bugs/Importance"].
  • Change the "Assigned to" field to "Nobody".
  • Click "Save changes".

Do not be worried if a bug you have confirmed, which cannot be sent upstream stays "confirmed" for a very long time. Ubuntu has many, many bugs and the devs will look at confirmed bugs first.

Status and Importance

If in doubt, the maintainer (or the one working on the bug) should change the Status and Importance. It usually reflects the status of this work or reflects how the bug fits into her/his working time.

Please check ["Bugs/Importance"] and see ["Bugs/Status"].

Forwarding upstream

Much of the software in Ubuntu is not actually written by us. We package many pieces of free and open source software, collect them in a distribution, and integrate them. As such, many bugs are actually in programs we've never written.

In order to be good citizens, we want to forward good bug reports to the original (or upstream) authors. This helps the author track down bugs in their software. And it helps Ubuntu when they fix the bug.

A list of bugs that need to be forwarded [https://bugs.launchpad.net/ubuntu/+bugs?field.searchtext=&orderby=-importance&field.status%3Alist=Unconfirmed&field.status%3Alist=Needs+Info&field.status%3Alist=Confirmed&field.status%3Alist=In+Progress&field.status%3Alist=Fix+Committed&assignee_option=any&field.assignee=&field.owner=&field.component-empty-marker=1&field.status_upstream=pending_bugwatch&field.status_upstream-empty-marker=1&field.omit_dupes.used=&field.omit_dupes=on&field.has_patch.used=&field.tag=&field.has_no_package.used=&search=Search upstream].

Forwarding a bug is a bit of work, but it's well worth it. Here's what you do:

  • Find the upstream author.
  • If they have a bug tracking system,
    • Sign up for it, if necessary.
    • Search for this bug report in the upstream system.
    • If it doesn't exist, report a new bug in their system.
    • Link their bug report to ours.
  • If they have a mailing list or e-mail address,
    • Report the bug by sending an e-mail to the appropriate address.

When you report a new bug, please include the following information:

  • Link to the bug inside Malone, in the form: https://launchpad.net/bugs/######

  • Credit the initial reporter.
  • Provide a complete description of the problem.

Linking a bug report is much easier:

  • Click the "+ Upstream..." or "+ Distribution..." link, as appropriate.
  • Choose the correct "Product" or "Distribution".
  • Check the "Link to a bug in another bug tracker:" box.
  • Select the proper "Remote Bug Tracker".
  • Enter the bug identification number in the "Remote Bug" field.
  • Click "Continue".

If the remote bug tracker is not [https://bugs.launchpad.net/bugs/bugtrackers/ already registered] with Malone, you should [https://bugs.launchpad.net/bugs/bugtrackers/+newbugtracker add it]. (Or if you cannot, [https://launchpad.net/malone/+filebug file a bug on malone].)

Marking a Bug as Requiring Forwarding

If you find a bug that needs forwarding, it is best to forward it immediately. However, if you are running short on time, you can still mark the bug as requiring to be forwarded. To do this:

  • Open an upstream task, but not assign a bug watch
  • This will mark the bug as "needs forwarding"
  • You can search for those bugs in the "Advanced Search" by selecting the "Show only bugs that need to be forwarded to an upstream bugtracker" option.

Invalidating

Sometimes, you will have to invalidate a bug report. This may be because the problem is not reproducible, the program was designed to behave a certain way, or the report is actually a feature or support request.

There will be a few bug reporters who never get back to you and there is not enough information for the bug to be worked on. You will want to mark those bugs also as Invalid.

The best thing to do here is to politely decline the report while thanking the user for submitting it. There are some useful ["Bugs/Responses"] that you can use in these cases.

There is no need to reject bugs that are already marked as duplicates of other bugs. Doing so creates bug mail noise, and makes it more difficult to un-duplicate the bug later if that turns out to be necessary.

Special types of bugs

Some groups of people, including Ubuntu Developers, use launchpad bugs to aid their work flow. They would ask that you avoid these bugs, and stick to triaging bugs filed by users.

Bugs in this category can have subjects like:

  • Please merge <package> from Debian unstable (main)

  • Please sync <package> from Debian unstable (main)

  • Please remove <package> from the Ubuntu archives

  • Please promote <package> to <component>

  • Please demote <package> to <component>

  • Main inclusion report (MIR)

Bugs in this category have any of the following teams subscribed:

If you are unsure as to whether the bug that you are looking at fits in this category, feel free to ask on #ubuntu-bugs or #ubuntu-motu on Freenode.

Looking through your bugs

Perhaps you want to look at a list of bugs you are working on, to see if anyone has replied.

A good way to get a list of these bugs is to look at your related bugs. This can be found in your "Bugs" page at Launchpad:

You can see you subscribed bugs at [https://bugs.launchpad.net/people/+me/+subscribedbugs], or the bugs you've commented on at [https://bugs.launchpad.net/people/+me/+commentedbugs]. Links to both are available at your main "Bugs" page.

You should go through your bugs fairly often, maybe once a week, to make sure you haven't missed any new comments or changes.


Go back to [:HelpingWithBugs].BRBR CategoryBugSquad