< Return to Video

Learn how to triage bugs

  • Not Synced
    I'm Solveig.
  • Not Synced
    Here you have my contact info.
  • Not Synced
    I use Free Software and especially Debian
    since quite some time now
  • Not Synced
    and I also contribute to Tails
  • Not Synced
    so my interests are in privacy…
  • Not Synced
    No? Yes? Do you hear me?
  • Not Synced
    I do some non-developer things
  • Not Synced
    and in Debian I found a way to contribute
    without coding
  • Not Synced
    or maintaining packages which is to
    triage bugs.
  • Not Synced
    Bug triaging, it helps,
  • Not Synced
    it's kind of non visible but it helps
    Debian as a whole
  • Not Synced
    because maintainers don't always
    have the time to deal
  • Not Synced
    with all their bug reports,
  • Not Synced
    some packages have a lot of
    bug reports,
  • Not Synced
    like the kernel or Xorg.
  • Not Synced
    Also, it's a good way to improve the
    package quality.
  • Not Synced
    When some packages have a lot of
    bugs open against them,
  • Not Synced
    it can make it harder for the maintainers
    to know which ones are
  • Not Synced
    solvable, actionable, and they can get a bit
    over their head.
  • Not Synced
    So when you triage bugs, you help
    everybody have a better experience
  • Not Synced
    with Debian.
  • Not Synced
    So, you want to do it.
  • Not Synced
    First, it's easy.
  • Not Synced
    You don't need to learn any new tool
    supposing you already know
  • Not Synced
    how to read and write e-mail.
  • Not Synced
    So that's a low threshold to start.
  • Not Synced
    It's very rewarding, the maintainers are
    happy when you help them,
  • Not Synced
    even if you don't touch their packages,
  • Not Synced
    if you sort their bugs, they'll be happy
    and the users who submitted them
  • Not Synced
    will be happy that somebody looked
    at them
  • Not Synced
    so it can be very joyful.
  • Not Synced
    Also, you search random bugs for packages
    you don't necessarily know,
  • Not Synced
    so you learn about a lot of software
    in Debian and
  • Not Synced
    some of them are really really surprising
    and you…
  • Not Synced
    "Wha? What does this do?" and that's kind
    of fun.
  • Not Synced
    And of course, it saves kittens.
  • Not Synced
    On this page, there's a…
  • Not Synced
    The bug triage page is a howto page
    I made some years ago, with tips
  • Not Synced
    and this part, especially, has a list
    of teams that added themselves
  • Not Synced
    so that they want you to help
    sort their bugs.
  • Not Synced
    Those are the teams I worked with,
    they're really really nice,
  • Not Synced
    they don't bite.
  • Not Synced
    They will let you know if you did an error,
  • Not Synced
    they will answer your questions,
    you can work together.
  • Not Synced
    I don't recommend closing random bugs.
  • Not Synced
    If you go and touch packages from people
    you have not warned
  • Not Synced
    or who are not willing to have somebody
    touch their bugs,
  • Not Synced
    you might have backfire.
  • Not Synced
    To start, I think it's good to go packages
    that you know people are happy
  • Not Synced
    if you help with.
  • Not Synced
    The first tool to triage bugs is UDD.
  • Not Synced
    I don't know if you've ever tried it,
    the interface is really great.
  • Not Synced
    Here, that's UDD.
  • Not Synced
    So it's a bit arid like this, but
  • Not Synced
    it allows you to select many many
    types of packages,
  • Not Synced
    we can see that later.
  • Not Synced
    Then you can choose a team or
    other criteria
  • Not Synced
    and when you're happy about
    your criteria, you search.
  • Not Synced
    It will give you a list of packages
    corresponding to your criteria
  • Not Synced
    and you can select some more info
    you want listed here.
  • Not Synced
    So, that's UDD search.
  • Not Synced
    I usually ignore the bug reports that
    somebody has searched in the last year.
  • Not Synced
    Probably somebody else will look at them,
  • Not Synced
    let's look at those that are lost
    in the limbos.
  • Not Synced
    I select wontfix, moreinfo, upstream or
    unreproducible.
  • Not Synced
    Those are those that probably you can do
    something on.
  • Not Synced
    And then you chose a team, preferably
    one of those that is listed
  • Not Synced
    in the page we saw before.
  • Not Synced
    Once you'll have selected a bug and
    something to do on it,
  • Not Synced
    you'll have to document what you do.
  • Not Synced
    Because you can change many many stuff
    on the bug,
  • Not Synced
    you send the commands to
    control@bugs.debian.org
  • Not Synced
    but it's always nice to put a small
    a small sentence, or 2 or 3
  • Not Synced
    to say what made you conclude that is
    the right change.
  • Not Synced
    Also make sure the e-mail where you do
    the commands is sent
  • Not Synced
    to everybody interested, because
    by default it only sends it
  • Not Synced
    to the maintainer and the submitter
    in some cases.
  • Not Synced
    So if other people answered the bug
    report saying
  • Not Synced
    "Hey, I have the bug too" or if upstream
    came by to explain something,
  • Not Synced
    it's good to see all of those who
    interacted on the bug report and
  • Not Synced
    put them all in copy.
  • Not Synced
    Ideally, people can receive the e-mail,
    read what you're saying and
  • Not Synced
    don't have to go back to the bug page
    to read it again.
  • Not Synced
    So that you should sum up the thread
    if it was long and have them know everything.
  • Not Synced
    If you do massive triage, you should have
    a few generic messages
  • Not Synced
    so you keep the messages and just
    replace the words as needed.
  • Not Synced
    It saves you a lot of time.
  • Not Synced
    Also, it allows you to put a lot of
    nice things in your generic e-mail
  • Not Synced
    that people are always happy to read
    without more effort.
  • Not Synced
    You know, add a little "Thanks for
    submitting the bug" or
  • Not Synced
    "That was a very interesting discussion"
    or something like that.
  • Not Synced
    Let's keep the positive energy flowing.
  • Not Synced
    There are many ways to triage.
  • Not Synced
    One of them is trying to reproduce
    bug reports.
  • Not Synced
    In the UDD we saw earlier, if you select
    'unreproducible'
  • Not Synced
    Oh no… those that don't have the tag
    'confirmed',
  • Not Synced
    these are bugs that one person submitted
    but nobody knows if they're really
  • Not Synced
    still up to date or if it's just, somebody
    submitted it but…
  • Not Synced
    If it's confirmed, there's more chance
    that the maintainer will look at them.
  • Not Synced
    If they're really old, maybe they have been
    corrected and nobody bothered
  • Not Synced
    to close the bug.
  • Not Synced
    If they're new, maybe you should have
    them too, so see if it's the case.
  • Not Synced
    If it's the case, you write to this adress
  • Not Synced
    the 'nnn' is the number of the bug and
    you add the tag 'confirmed'
  • Not Synced
    That's how we interact with control@b.d.o
  • Not Synced
    All the bug tracking is on a e-mail
    interface
  • Not Synced
    'found bugnumber versionnumber'
  • Not Synced
    that's a command that control will
    recognize,
  • Not Synced
    you give the bug number and what version
    you're running.
  • Not Synced
    You add the tag 'confirmed'.
  • Not Synced
    Since you found it, you're 2, so it's
    confirmed.
  • Not Synced
    And 'thanks', you always have to end
    your e-mails to control with 'thanks'
  • Not Synced
    or 'thank you' or whatever variation
    of it you want.
  • Not Synced
    The control is a very very polite beast
    and likes you to be the same.
  • Not Synced
    If you don't put politeness, it won't work.
  • Not Synced
    Actually it's to tell them that the commands
    are done, but
  • Not Synced
    let's be polite also with machines.
  • Not Synced
    If the bug was not confirmed, you tried
    to reproduce it and you couldn't.
  • Not Synced
    You could add the tag 'unreproducible' or
    'moreinfo'
  • Not Synced
    So, depending if you're quite sure that…
    if you're not the first saying
  • Not Synced
    "I can't reproduce it" or if you're sure
    you have exactly the same setup as
  • Not Synced
    the original submitter,
  • Not Synced
    then you should put 'unreproducible'.
  • Not Synced
    If it might be reproducible for other
    people, but just not you,
  • Not Synced
    then you should ask 'moreinfo' so that
    the original submitter gives
  • Not Synced
    more details on how to reproduce their bug
  • Not Synced
    And it also requires you to be polite
    at the end of the command.
  • Not Synced
    An other very useful thing is to forward
    them upstream.
  • Not Synced
    Some upstream follow the Debian bug tracker
  • Not Synced
    but a lot of them don't.
  • Not Synced
    Maybe somebody reported the issue in
    the Debian bug tracker but
  • Not Synced
    upstream is not aware of it
  • Not Synced
    and most Debian maintainers are not
    gonna solve the bug themselves,
  • Not Synced
    they're more probably gonna wait for it
    to be corrected upstream,
  • Not Synced
    so we need the bug to go back to where
    it will be corrected
  • Not Synced
    In a lot of cases, it can be because
    upstream considers it not a bug,
  • Not Synced
    so won't fix it, so let's say it on the
    Debian bug too
  • Not Synced
    or maybe upstream is not aware of
    the bug so…
  • Not Synced
    Ok, that's very tiny…
  • Not Synced
    At least you have all.
  • Not Synced
    Here you have the command to add
    the upstream bug tracker number.
  • Not Synced
    "forwarded bugnumber", you put the URL
    in the upstream's bug tracker
  • Not Synced
    and then you say thanks again.
  • Not Synced
    So that's what I was saying before, you
    can also report it upstream
  • Not Synced
    if it hasn't been already.
  • Not Synced
    Sometimes, the upstream bug tracker
    is more up to date,
  • Not Synced
    so in upstream it's fixed, so it's good
    to let know to the Debian bug tracker
  • Not Synced
    and add the tag 'fixedupstream'
  • Not Synced
    and it's good to say in which version
    so that the maintainer may be
  • Not Synced
    motivated to update to the new version.
  • Not Synced
    In lot of cases, the bug reports are tagged
    'moreinfo', which is
  • Not Synced
    somebody said "It doesn't work", which,
    sorry for you, but there's no chance
  • Not Synced
    it's gonna be fixed with that.
  • Not Synced
    So in lots of cases, the bug is tagged
    'moreinfo' to say
  • Not Synced
    "This bug does not give enough info
    to be solved"
  • Not Synced
    Or sometimes, the maintainer
    packages a new version
  • Not Synced
    and you think probably the bug is
    solved,
  • Not Synced
    and you also need to ask the original
    submitter if they still have the bug
  • Not Synced
    Or somebody said "Oh I'm gonna to some
    fix next weekend" and it's 2 years later
  • Not Synced
    and you're not sure they actually did
    the test they were saying they would do.
  • Not Synced
    So, info were asked and it feels like
    the bug is hanging.
  • Not Synced
    In those cases, it's helpful, sometimes,
    to send an e-mail to the person who said
  • Not Synced
    "I'm gonna do something" or who needs to
    answer if they still have the bug
  • Not Synced
    and saying "Hey! that's a gentle ping"
  • Not Synced
    "You said you would test" or "Can you still
    reproduce a bug?"
  • Not Synced
    so that you can update the status of the
    bug on the bug tracker.
  • Not Synced
    It's good to wait, like, a good amount of
    time before bothering people
  • Not Synced
    about this kind of thing.
  • Not Synced
    I usually wait one year, like I told you,
    probably shorter might be good,
  • Not Synced
    but it's good also not to harass people,
    they have a life.
  • Not Synced
    Sometimes, the bugs have been tagged
    'moreinfo' or 'wontfix' for a long time
  • Not Synced
    The info is not given, or it's unlikely
    that somebody else wants
  • Not Synced
    this 'non-bug' fixed.
  • Not Synced
    Different teams have different policies
    but most of them will be happy
  • Not Synced
    if you close the bugs that nobody is gonna
    do anything about.
  • Not Synced
    If the bug was tagged 'moreinfo' more than
    a year ago and
  • Not Synced
    nobody answered to give more info, or if
    a major release came out and
  • Not Synced
    probably the bug is fixed but the original
    submitter doesn't answer
  • Not Synced
    then it's good to close them, in most
    cases, depending on the team.
  • Not Synced
    But it's good to ping them before you
    close
  • Not Synced
    give them a reasonable amount of time
    to try to test it again.
  • Not Synced
    Ok, we don't have the bottom of the page.
  • Not Synced
    The command to…
  • Not Synced
    The command to close a bug is to write to
    -done@control.b.d.o
  • Not Synced
    Maybe I shouldn't have done that.
  • Not Synced
    And closing the bugs is kind of one of
    the most satisfying things to do.
  • Not Synced
    Sometimes, I speak with my maintainer
    friends and I say
  • Not Synced
    "Hey, I closed 25 bugs today" and they're
    kind of jealous because
  • Not Synced
    when you have to actually work on the bugs
    to close them,
  • Not Synced
    you can rarely fix 25 in one day.
  • Not Synced
    So it's kind of the perks of doing
    bug triaging.
Title:
Learn how to triage bugs
Description:

Talk given by Solveig at Debconf18
https://meetings-archive.debian.net/pub/debian-meetings/2018/DebConf18/2018-07-30/learn-how-to-triage-bugs.webm

more » « less
Video Language:
English
Team:
Debconf
Project:
2018_debconf18
Duration:
26:33

English subtitles

Incomplete

Revisions Compare revisions