wiki:BugSweep

Version 2 (modified by simonmar, 4 years ago) (diff)

--

GHC bug sweep

In the tradition of the Ubuntu 5-a-day, the GHC Bug Sweep is a scheme in a similar vein. The main aim is simple: we want to make sure that no ticket is forgotten. So, what we plan to do is to look at every ticket in the database in sequence, starting from the oldest, and try to make some progress on the ticket. In this way we'll ensure that we keep the amount of cruft in the ticket database down to a minimum, keep the database healthy, and keep everything moving.

The bug sweep is a way that virtually anyone can contribute to GHC, in as small or large a way as you like. Whenever you have a spare minute or two, claim a ticket and look at it (see below for how to claim a ticket). You don't necessarily have to fix the bug or implement the feature: all you have to do is make some progress on the ticket. Here are some things to check:

  • Check for duplicates (Google search with "site:hackage.haskell.org" is usually better than using Trac's search).
  • Check that the bug hasn't already been fixed, or if it is a feature request, that it hasn't already been implemented. If the bug has some reproduction instructions, try them out with a recent GHC and see if the bug still happens. If the results are different, update the ticket to include that information. If the bug does not have repro instructions, ask the submitter for more details.
  • Check that there is still value in having the ticket open. If we cannot make progress without feedback from the submitter, and a long time has elapsed (e.g. 6 months), then we should close the bug.
  • If the ticket has a patch and looks ready to go, add a comment to the ticket to say so.
  • Check that the ticket is categoriesd correctly, including
    • the title is a good summary of the bug
    • platform/OS are correct
    • component is correct
    • it is on the correct milestone
    • the "difficulty" is a reasonable estimate

Here are some more details on how we use the bug tracker.

For many tickets there may be nothing to do. In some cases you might not know what to do: e.g. you might not know which is a good milestone for a bug. In that case, you could ask a GHC developer on IRC, or just make a guess; we can always correct it later. You might not be able to reproduce the bug (because you don't have access to the right platform, for instance). In that case just add a comment to the ticket to note that the bug needs to be reproduced with an up to date GHC, and hopefully someone else will pick it up.

How do we track which bugs have been looked at in the sweep yet? Below is a list: just edit this page, remove a bug from the list, and look at it. When the list is empty, we'll take a new snapshot of the database and start again.

The bugs

Remove a bug from the top of the list: