BugZappers/How to Triage

From FedoraProject

Jump to: navigation, search

Contents

Preparing to Triage

Choose Bugs Wisely

Most triage is done on bugs filed in a specific component. For lists of components and associated bugs, see BugZappers/Components and Triagers.

Please do not touch bugs with a product that is not "Fedora" (especially Red Hat Enterprise Linux bugs).

Please do not triage bugs filed against the "Package Review" component, which usually have "Merge review" in the summary. These are handled as part of the Package Review Process.

Use the Best Tools

Some people find the pkgdb interface to Bugzilla preferable to the standard Bugzilla one. To try this for e.g. the firefox component, visit:

https://admin.fedoraproject.org/pkgdb/packages/bugs/firefox

There is also a complete list of components in pkgdb.

It is also recommended that you install GreaseMonkey in your web browser. See BugZappers/Tools for this and other helpful tools.

Stock responses are essential for any triager.

Understand Bugzilla

Checklist for NEW Bug Triage

This checklist is intended for NEW bugs. With some practice, you should be able to use the bold headings as reminders, and skip the details in most cases.

1.) Is this a bug?

2.) Is it assigned to the correct product and component?

3.) Is this a duplicate?

4.) Are there related bugs?

5.) Are multiple problems reported in the same bug?

6.) Is the version number reported correctly?

7.) Is there sufficient information for the developer to reproduce, diagnose, or fix the problem?

8.) Is the summary appropriate?

9.) What severity should I set?

As part of triage, you should set the severity field for the bug report. Most bugs should be medium, however the criteria to evaluate bug severity is listed below:

As a caveat, you should usually not use the urgent setting for hardware-specific bugs: a bug which causes the entire distribution to be affected but is restricted to a single specific type of hardware should usually be set to high. For instance, if a bug prevents X.org working correctly on a single particular graphics chipset, set the high severity, not urgent.

Use your judgement in setting this field, but use the high and especially critical settings sparingly, and try to be consistent both with your use of the field over time, and with the use of the field by other triagers.

10.) Should this be a blocker or target bug? (Rawhide bugs only)

Top priority bugs that either must be fixed before general public release (and thus will delay the release if not fixed) should be added to the "Blocker" tracker for the release. Important bugs that should be fixed before general public release (but won't block the release) should be added to the "Target" tracking bug for the release. See BugZappers/HouseKeeping/Trackers for links.

11.) Is it a bug trivial to fix?

If you think that the bug is trivial to fix, please add the "EasyFix" keyword. This enables provenpackagers to track for bugs that they may easily help to fix and prevents such bugs from starving a long time in Bugzilla. Examples of what could be considered as EasyFix bugs are: missing requires (or similar minor updates to the SPEC files), bugs with a simple patch attached, and spelling errors.

12.) Is there a patch already attached?

If so, make sure the word "Patch" is present in the Keyword field.

What Bug State to Use Next

If you have gotten to this point and the bug now has all the information the maintainer needs, mark it as ASSIGNED. If you are waiting on information from the reporter, leave it as NEW and check the "Need information from" box and set the pulldown appropriately.

Many bugs are fixed upstream or unintentionally during a seemingly unrelated rewrite. If someone who has experienced the bug can confirm that is is fixed by an update to the version of Fedora is it reported against, mark it CLOSED/ERRATA.

Normally when a package maintainer intentionally fixes a bug, this is recorded in the build system, and Bodhi should automatically close the bug when the update goes live. (But this does not happen for Rawhide bugs.)

How to Handle Bugs in Multiple Versions

If you or anyone else is experiencing the bug in a more recent version of Fedora or Rawhide than originally reported, note this in a comment and change the version number. This prevents the bug from being closed when the older version hits its End of Life.

Many bugs are fixed in the code latest Fedora version, and then must be intentionally backported to earlier versions. It is up to the package maintainer to decide whether a backport will be produced, based on the time they have available to work on the problem, the duration and severity of the impact on users, the difficulty of implementing the backport due to changes in the code over time, and the risk of creating new problems with the attempted fix. It's OK if minor bugs aren't fixed in older versions. They will soon reach their End of Life and all users will upgrade to a version in which the bug is fixed.

Not creating unnecessary copies of bugs at triage-time avoids splitting the discussion, and avoids cluttering Bugzilla and creating extra work for you and everyone else.

If you or a reporter would like to actively advocate for a backport to an earlier version, you can make this request in a comment in the same bug.

If a package maintainer closes the bug without making a backport (perhaps overlooking the request) or this is an important backport (such as a fix for a security bug), file a separate bug against the specific version, but mark it as depending on the main bug. Direct others to bring discussion about how to fix the underlying problem to the main bug.

Optional steps

12.) Help reproduce or isolate the cause of the bug.

The below steps might be quick and easy, or be quite time consuming, depending on the type of bug. They are not necessary before marking the bug ASSIGNED, and it is recommended you not spend too much time on an individual bug if you have a large number to triage. However, any contributions you choose to make (which can be made even by non-programmers) are helpful and extremely welcome if you have the time.

There are two big questions that are extremely useful to answer:


13A.) Is the bug due to a specific configuration or hardware?
13B.) Has the bug already been fixed?


If this is a non-reproducible event even for the original reporter, like a crash or intermittent failure, you will need to rely on people using the program for everyday use, and reporting the problem when it occurs. The causes of crashes are sometimes hard to pin down, and they are often fixed as a byproduct of other changes in the code.


If this is a reproducible bug for the original reporter, you can try to experience the bug yourself. You may need to attempt reproduction with multiple releases to answer both questions 13A and 13B. The order in which you choose to do so depends on which release is the most convenient for you to use, or which question you wish to answer first.

The latest updates for all releases can be found in the Koji Build System, even before they appear in yum repositories.

14.) Has this already been reported upstream?

Upstream bug reporting systems:

Followup

If you set a NEEDINFO flag in a bug, it is good practice to return after 30 days to see if the reporter has supplied the requested information. (See the NEEDINFO checklist, below.) If for some reasons you do not do so, other triagers who are only looking at NEEDINFO bugs can also do this.

Checklist for EOL Bug Triage

For bugs filed against Fedora releases that have reached their End of Life (EOL):

Checklist for NEEDINFO Bug Triage

Reviewing bugs with NEEDINFO:reporter flag set:

This is just a reminder that if the requested information is not supplied within 30 days, this bug will be closed. Thanks for your assistance in improving Fedora.

Easier Testing on Different Fedora Versions

Not everyone has three different computers each running a different Fedora release. Reporters, triagers, and developers can use LiveUSB instances for easy testing of a different release on the same machine, with only a reboot. To do this, follow the instructions on the How to create and use Live USB page using the "data persistence" option. Boot the LiveUSB instance, and run "yum update" as normal to test the latest packages. (Not recommended with Fedora 11 Alpha due to a large number of updates.)

To test a different release using an emulator, see Testing/qemu.

General Advice