Return to Video

Learn how to triage bugs

  • 0:05 - 0:07
    I'm Solveig.
  • 0:08 - 0:10
    Here you have my contact info.
  • 0:13 - 0:19
    I use Free Software and especially Debian
    since quite some time now
  • 0:19 - 0:22
    and I also contribute to Tails
  • 0:23 - 0:29
    so my interests are in privacy…
  • 0:44 - 0:47
    No? Yes? Do you hear me?
  • 0:53 - 0:57
    I do some non-developer things
  • 0:57 - 1:03
    and in Debian I found a way to contribute
    without coding
  • 1:04 - 1:07
    or maintaining packages which is to
    triage bugs.
  • 1:12 - 1:15
    Bug triaging, it helps,
  • 1:15 - 1:22
    it's kind of non visible but it helps
    Debian as a whole
  • 1:22 - 1:27
    because maintainers don't always
    have the time to deal
  • 1:27 - 1:28
    with all their bug reports,
  • 1:29 - 1:31
    some packages have a lot of
    bug reports,
  • 1:32 - 1:36
    like the kernel or Xorg.
  • 1:40 - 1:45
    Also, it's a good way to improve the
    package quality.
  • 1:45 - 1:50
    When some packages have a lot of
    bugs open against them,
  • 1:52 - 1:57
    it can make it harder for the maintainers
    to know which ones are
  • 1:57 - 2:03
    solvable, actionable, and they can get a bit
    over their head.
  • 2:04 - 2:11
    So when you triage bugs, you help
    everybody have a better experience
  • 2:11 - 2:12
    with Debian.
  • 2:14 - 2:16
    So, you want to do it.
  • 2:17 - 2:19
    First, it's easy.
  • 2:19 - 2:23
    You don't need to learn any new tool
    supposing you already know
  • 2:23 - 2:25
    how to read and write e-mail.
  • 2:27 - 2:32
    So that's a low threshold to start.
  • 2:33 - 2:38
    It's very rewarding, the maintainers are
    happy when you help them,
  • 2:38 - 2:41
    even if you don't touch their packages,
  • 2:41 - 2:49
    if you sort their bugs, they'll be happy
    and the users who submitted them
  • 2:49 - 2:51
    will be happy that somebody looked
    at them
  • 2:52 - 2:56
    so it can be very joyful.
  • 2:58 - 3:03
    Also, you search random bugs for packages
    you don't necessarily know,
  • 3:04 - 3:08
    so you learn about a lot of software
    in Debian and
  • 3:08 - 3:12
    some of them are really really surprising
    and you…
  • 3:13 - 3:16
    "Wha? What does this do?" and that's kind
    of fun.
  • 3:18 - 3:20
    And of course, it saves kittens.
  • 3:26 - 3:29
    On this page, there's a…
  • 3:31 - 3:36
    The bug triage page is a howto page
    I made some years ago, with tips
  • 3:37 - 3:43
    and this part, especially, has a list
    of teams that added themselves
  • 3:43 - 3:47
    so that they want you to help
    sort their bugs.
  • 3:49 - 3:52
    Those are the teams I worked with,
    they're really really nice,
  • 3:53 - 3:54
    they don't bite.
  • 3:57 - 3:59
    They will let you know if you did an error,
  • 3:59 - 4:03
    they will answer your questions,
    you can work together.
  • 4:05 - 4:08
    I don't recommend closing random bugs.
  • 4:08 - 4:13
    If you go and touch packages from people
    you have not warned
  • 4:13 - 4:17
    or who are not willing to have somebody
    touch their bugs,
  • 4:17 - 4:20
    you might have backfire.
  • 4:23 - 4:28
    To start, I think it's good to go packages
    that you know people are happy
  • 4:28 - 4:29
    if you help with.
  • 4:35 - 4:38
    The first tool to triage bugs is UDD.
  • 4:40 - 4:47
    I don't know if you've ever tried it,
    the interface is really great.
  • 4:56 - 4:58
    Here, I can show you.
  • 5:02 - 5:04
    Here, that's UDD.
  • 5:07 - 5:09
    So it's a bit arid like this, but
  • 5:14 - 5:22
    it allows you to select many many
    types of packages,
  • 5:23 - 5:26
    we can see that later.
  • 5:26 - 5:32
    Then you can choose a team or
    other criteria
  • 5:33 - 5:38
    and when you're happy about
    your criteria, you search.
  • 5:39 - 5:45
    It will give you a list of packages
    corresponding to your criteria
  • 5:47 - 5:51
    and you can select some more info
    you want listed here.
  • 5:54 - 5:56
    So, that's UDD search.
  • 6:02 - 6:09
    I usually ignore the bug reports that
    somebody has searched in the last year.
  • 6:12 - 6:14
    Probably somebody else will look at them,
  • 6:14 - 6:18
    let's look at those that are lost
    in the limbos.
  • 6:19 - 6:24
    I select wontfix, moreinfo, upstream or
    unreproducible.
  • 6:24 - 6:28
    Those are those that probably you can do
    something on.
  • 6:30 - 6:34
    And then you chose a team, preferably
    one of those that is listed
  • 6:34 - 6:36
    in the page we saw before.
  • 6:45 - 6:50
    Once you'll have selected a bug and
    something to do on it,
  • 6:50 - 6:53
    you'll have to document what you do.
  • 6:57 - 7:00
    Because you can change many many stuff
    on the bug,
  • 7:00 - 7:07
    you send the commands to
    control@bugs.debian.org
  • 7:07 - 7:12
    but it's always nice to put a small
    a small sentence, or 2 or 3
  • 7:12 - 7:18
    to say what made you conclude that is
    the right change.
  • 7:22 - 7:26
    Also make sure the e-mail where you do
    the commands is sent
  • 7:26 - 7:32
    to everybody interested, because
    by default it only sends it
  • 7:32 - 7:36
    to the maintainer and the submitter
    in some cases.
  • 7:37 - 7:40
    So if other people answered the bug
    report saying
  • 7:40 - 7:48
    "Hey, I have the bug too" or if upstream
    came by to explain something,
  • 7:48 - 7:53
    it's good to see all of those who
    interacted on the bug report and
  • 7:53 - 7:55
    put them all in copy.
  • 8:01 - 8:08
    Ideally, people can receive the e-mail,
    read what you're saying and
  • 8:08 - 8:12
    don't have to go back to the bug page
    to read it again.
  • 8:13 - 8:20
    So that you should sum up the thread
    if it was long and have them know everything.
  • 8:29 - 8:35
    If you do massive triage, you should have
    a few generic messages
  • 8:35 - 8:41
    so you keep the messages and just
    replace the words as needed.
  • 8:41 - 8:44
    It saves you a lot of time.
  • 8:45 - 8:51
    Also, it allows you to put a lot of
    nice things in your generic e-mail
  • 8:51 - 8:54
    that people are always happy to read
    without more effort.
  • 8:55 - 8:58
    You know, add a little "Thanks for
    submitting the bug" or
  • 8:58 - 9:04
    "That was a very interesting discussion"
    or something like that.
  • 9:06 - 9:10
    Let's keep the positive energy flowing.
  • 9:13 - 9:18
    There are many ways to triage.
  • 9:18 - 9:21
    One of them is trying to reproduce
    bug reports.
  • 9:22 - 9:26
    In the UDD we saw earlier, if you select
    'unreproducible'
  • 9:26 - 9:30
    Oh no… those that don't have the tag
    'confirmed',
  • 9:31 - 9:37
    these are bugs that one person submitted
    but nobody knows if they're really
  • 9:37 - 9:42
    still up to date or if it's just, somebody
    submitted it but…
  • 9:44 - 9:48
    If it's confirmed, there's more chance
    that the maintainer will look at them.
  • 9:50 - 9:54
    If they're really old, maybe they have been
    corrected and nobody bothered
  • 9:54 - 9:55
    to close the bug.
  • 9:57 - 10:03
    If they're new, maybe you should have
    them too, so see if it's the case.
  • 10:04 - 10:07
    If it's the case, you write to this adress
  • 10:07 - 10:16
    the 'nnn' is the number of the bug and
    you add the tag 'confirmed'
  • 10:17 - 10:23
    That's how we interact with control@b.d.o
  • 10:24 - 10:30
    All the bug tracking is on a e-mail
    interface
  • 10:31 - 10:34
    'found bugnumber versionnumber'
  • 10:36 - 10:40
    that's a command that control will
    recognize,
  • 10:40 - 10:43
    you give the bug number and what version
    you're running.
  • 10:44 - 10:48
    You add the tag 'confirmed'.
  • 10:48 - 10:51
    Since you found it, you're 2, so it's
    confirmed.
  • 10:51 - 10:56
    And 'thanks', you always have to end
    your e-mails to control with 'thanks'
  • 10:56 - 11:00
    or 'thank you' or whatever variation
    of it you want.
  • 11:01 - 11:06
    The control is a very very polite beast
    and likes you to be the same.
  • 11:08 - 11:12
    If you don't put politeness, it won't work.
  • 11:13 - 11:17
    Actually it's to tell them that the commands
    are done, but
  • 11:17 - 11:20
    let's be polite also with machines.
  • 11:27 - 11:35
    If the bug was not confirmed, you tried
    to reproduce it and you couldn't.
  • 11:37 - 11:44
    You could add the tag 'unreproducible' or
    'moreinfo'
  • 11:45 - 11:50
    So, depending if you're quite sure that…
    if you're not the first saying
  • 11:50 - 11:55
    "I can't reproduce it" or if you're sure
    you have exactly the same setup as
  • 11:55 - 11:56
    the original submitter,
  • 11:56 - 11:59
    then you should put 'unreproducible'.
  • 12:00 - 12:05
    If it might be reproducible for other
    people, but just not you,
  • 12:05 - 12:11
    then you should ask 'moreinfo' so that
    the original submitter gives
  • 12:11 - 12:13
    more details on how to reproduce their bug
  • 12:15 - 12:19
    And it also requires you to be polite
    at the end of the command.
  • 12:23 - 12:26
    An other very useful thing is to forward
    them upstream.
  • 12:26 - 12:31
    Some upstream follow the Debian bug tracker
  • 12:31 - 12:33
    but a lot of them don't.
  • 12:36 - 12:39
    Maybe somebody reported the issue in
    the Debian bug tracker but
  • 12:39 - 12:41
    upstream is not aware of it
  • 12:41 - 12:47
    and most Debian maintainers are not
    gonna solve the bug themselves,
  • 12:48 - 12:51
    they're more probably gonna wait for it
    to be corrected upstream,
  • 12:51 - 12:55
    so we need the bug to go back to where
    it will be corrected
  • 13:01 - 13:07
    In a lot of cases, it can be because
    upstream considers it not a bug,
  • 13:08 - 13:11
    so won't fix it, so let's say it on the
    Debian bug too
  • 13:15 - 13:19
    or maybe upstream is not aware of
    the bug so…
  • 13:23 - 13:27
    Ok, that's very tiny…
  • 13:30 - 13:32
    At least you have all.
  • 13:33 - 13:39
    Here you have the command to add
    the upstream bug tracker number.
  • 13:39 - 13:44
    "forwarded bugnumber", you put the URL
    in the upstream's bug tracker
  • 13:45 - 13:48
    and then you say thanks again.
  • 14:00 - 14:07
    So that's what I was saying before, you
    can also report it upstream
  • 14:07 - 14:09
    if it hasn't been already.
  • 14:15 - 14:18
    Sometimes, the upstream bug tracker
    is more up to date,
  • 14:18 - 14:23
    so in upstream it's fixed, so it's good
    to let know to the Debian bug tracker
  • 14:24 - 14:27
    and add the tag 'fixedupstream'
  • 14:28 - 14:36
    and it's good to say in which version
    so that the maintainer may be
  • 14:36 - 14:39
    motivated to update to the new version.
  • 14:53 - 14:58
    In lot of cases, the bug reports are tagged
    'moreinfo', which is
  • 14:58 - 15:05
    somebody said "It doesn't work", which,
    sorry for you, but there's no chance
  • 15:05 - 15:07
    it's gonna be fixed with that.
  • 15:08 - 15:13
    So in lots of cases, the bug is tagged
    'moreinfo' to say
  • 15:13 - 15:17
    "This bug does not give enough info
    to be solved"
  • 15:20 - 15:24
    Or sometimes, the maintainer
    packages a new version
  • 15:24 - 15:27
    and you think probably the bug is
    solved,
  • 15:28 - 15:32
    and you also need to ask the original
    submitter if they still have the bug
  • 15:33 - 15:39
    Or somebody said "Oh I'm gonna do some
    test next weekend" and it's 2 years later
  • 15:40 - 15:44
    and you're not sure they actually did
    the test they were saying they would do.
  • 15:46 - 15:52
    So, info were asked and it feels like
    the bug is hanging.
  • 15:56 - 16:04
    In those cases, it's helpful, sometimes,
    to send an e-mail to the person who said
  • 16:04 - 16:10
    "I'm gonna do something" or who needs to
    answer if they still have the bug
  • 16:11 - 16:16
    and saying "Hey! that's a gentle ping"
  • 16:17 - 16:20
    "You said you would test" or "Can you still
    reproduce a bug?"
  • 16:21 - 16:25
    so that you can update the status of the
    bug on the bug tracker.
  • 16:34 - 16:41
    It's good to wait, like, a good amount of
    time before bothering people
  • 16:42 - 16:43
    about this kind of thing.
  • 16:44 - 16:48
    I usually wait one year, like I told you,
    probably shorter might be good,
  • 16:49 - 16:54
    but it's good also not to harass people,
    they have a life.
  • 16:58 - 17:04
    Sometimes, the bugs have been tagged
    'moreinfo' or 'wontfix' for a long time
  • 17:08 - 17:17
    The info is not given, or it's unlikely
    that somebody else wants
  • 17:17 - 17:20
    this 'non-bug' fixed.
  • 17:23 - 17:27
    Different teams have different policies
    but most of them will be happy
  • 17:27 - 17:31
    if you close the bugs that nobody is gonna
    do anything about.
  • 17:33 - 17:39
    If the bug was tagged 'moreinfo' more than
    a year ago and
  • 17:39 - 17:44
    nobody answered to give more info, or if
    a major release came out and
  • 17:44 - 17:49
    probably the bug is fixed but the original
    submitter doesn't answer
  • 17:49 - 17:55
    then it's good to close them, in most
    cases, depending on the team.
  • 17:57 - 17:59
    But it's good to ping them before you
    close
  • 17:59 - 18:04
    give them a reasonable amount of time
    to try to test it again.
  • 18:13 - 18:15
    Ok, we don't have the bottom of the page.
  • 18:16 - 18:18
    The command to…
  • 18:26 - 18:36
    The command to close a bug is to write to
    -done@control.b.d.o
  • 18:39 - 18:41
    Maybe I shouldn't have done that.
  • 18:47 - 18:55
    And closing the bugs is kind of one of
    the most satisfying things to do.
  • 18:59 - 19:05
    Sometimes, I speak with my maintainer
    friends and I say
  • 19:05 - 19:08
    "Hey, I closed 25 bugs today" and they're
    kind of jealous because
  • 19:08 - 19:12
    when you have to actually work on the bugs
    to close them,
  • 19:12 - 19:15
    you can rarely fix 25 in one day.
  • 19:16 - 19:19
    So it's kind of the perks of doing
    bug triaging.
  • 19:20 - 19:27
    You know, "less bugs on the bug tracker,
    I'm very efficient today."
  • 19:28 - 19:32
    But don't close random stuff, but when
    you find useless stuff to close,
  • 19:32 - 19:34
    it feels good.
  • 19:44 - 19:45
    Where am I?
  • 19:57 - 20:00
    We missed the last sentence earlier.
  • 20:01 - 20:06
    When trying to reproduce a bug, you
    should pay particularly attention to
  • 20:06 - 20:08
    the games team.
  • 20:08 - 20:14
    You know, like, people open bug reports
    against the game team and then
  • 20:14 - 20:20
    Oh no, you have to install a bunch of
    games to try to reproduce bugs,
  • 20:20 - 20:26
    you know, but for work, so you install
    a lot of games and
  • 20:26 - 20:32
    you try to see if they're buggy, so that's
    also another perk of triaging bugs,
  • 20:33 - 20:37
    you get to try all the latest games.
  • 20:40 - 20:45
    An other thing is when people open a bug
    and didn't check if there was
  • 20:45 - 20:46
    already one open.
  • 20:47 - 20:52
    It ends up being 2 reports for the same bug.
  • 20:53 - 21:00
    It's good to merge them so that's clearer.
  • 21:01 - 21:05
    The 2 bug reports must be on the same
    package, with the same severity
  • 21:05 - 21:06
    and the same state,
  • 21:07 - 21:11
    otherwise you can't merge, so you have
    to send first the commands to do that,
  • 21:11 - 21:17
    like I showed before, and at the end you
    tell the bug tracker to merge.
  • 21:24 - 21:26
    So, that we've seen.
  • 21:40 - 21:41
    You can…
  • 21:52 - 21:56
    Ok, you can't really see the…
  • 21:57 - 22:05
    So, I was giving an example of my standard
    message I paste when I close a bug
  • 22:06 - 22:09
    and we don't see the end, but I'm gonna
    do it from memory, it says
  • 22:09 - 22:14
    "Hi! I'm closing this bug, since it was
    tagged 'moreinfo' for years
  • 22:14 - 22:20
    without answer. If you still experience
    the issue, please feel free to reopen it
  • 22:20 - 22:24
    or ask me to do it" because some people
    don't know how to reopen a bug
  • 22:24 - 22:26
    that has been archived.
  • 22:29 - 22:33
    So that's a very standard message,
    no nothing, it's not very long.
  • 22:34 - 22:43
    That is good to have a model so that
    you can just paste, with niceness in it.
  • 22:45 - 22:47
    If you're not sure about a bug report,
  • 22:47 - 22:51
    you read through it and you're still
    not sure what to do
  • 22:51 - 22:55
    because, let's be clear, I don't always
    understand what the issue is.
  • 22:55 - 22:59
    What you need to understand to triage
    is what the status of the bug report is.
  • 23:01 - 23:02
    I triaged bugs for the kernel.
  • 23:04 - 23:08
    I don't understand anything about
    the kernel, like most human beings
  • 23:08 - 23:13
    but, without understanding the bug report,
    you can understand if somebody asks
  • 23:13 - 23:15
    for info and nobody provided it
  • 23:16 - 23:22
    or, for example, for the kernel, all the
    bug reports that were for the nouveau driver
  • 23:22 - 23:24
    that is not supported anymore,
  • 23:24 - 23:29
    it was possible to close them because
    nobody cared anymore.
  • 23:30 - 23:33
    So you don't necessarily need to understand
    what the bug is about
  • 23:33 - 23:35
    to do something about the bug report
  • 23:37 - 23:41
    but sometimes it's a bit more complicated,
    you're not sure
  • 23:41 - 23:45
    just close the bug report, move to the
    next one
  • 23:45 - 23:50
    There's probably an other one that's,
    you know, low hanging
  • 23:50 - 23:52
    take the easy stuff.
  • 23:54 - 24:00
    Because if you do something wrong, or
    if you bother the maintainer to ask
  • 24:00 - 24:03
    what should be done, then you're not
    really helping,
  • 24:04 - 24:08
    you might be taking time from them that
    would be best invested somewhere else.
  • 24:13 - 24:17
    Small warning, there are some people who
    really don't like you touching
  • 24:17 - 24:18
    their bug reports.
  • 24:20 - 24:24
    I wish you not to encounter them.
  • 24:24 - 24:33
    I you do, just either ignore them or ask
    the maintainers of the package you're triaging
  • 24:33 - 24:39
    to step in and help or you can also
    contact the anti-harassment team.
  • 24:40 - 24:47
    But it's very rare and most of Debian
    people are very nice people
  • 24:48 - 24:52
    and they'll be happy to cooperate and
    discuss with you
  • 24:52 - 24:58
    and bug triaging is fun and rewarding
    and easy.
  • 25:01 - 25:06
    Those are the links to the things that
    are useful to triage.
  • 25:06 - 25:08
    The first one is…
  • 25:19 - 25:22
    Ok, the first one is bad, I'll correct it.
  • 25:25 - 25:30
    The second one is how to triage with
    all the different commands
  • 25:30 - 25:32
    that are useful.
  • 25:33 - 25:37
    The third one is server control,
  • 25:41 - 25:45
    a reminder of all the different instructions
    you can send to server control
  • 25:45 - 25:48
    which is the way to interact with
    a bug report.
  • 25:49 - 25:56
    The last one is about only closing and
    you don't interact with control,
  • 25:56 - 26:02
    you write to bugnumber-done, so that's
    a different e-mail destination.
  • 26:07 - 26:14
    So, the idea was to have a workshop,
    so this was the explanation part and now
  • 26:14 - 26:19
    let's close some bugs, or sort them,
    maybe.
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