BugPractices

Revision 4 as of 2009-09-02 21:46:09

Clear message

Dev Week -- Bug lifecycle, Best practices, Workflow, Tags, Upstream, Big picture -- jcastro and pedro_ -- Wed Sep 2nd, 2009

UTC

(04:01:09 PM) jcastro: ok thanks everyone for showing up
(04:01:59 PM) jcastro: This next session is "Bugs lifecycle, best practices, workflow, tags, upstream, and big picture"
(04:02:10 PM) jcastro: with myself and pedro_
(04:02:15 PM) ***pedro_ waves
(04:02:39 PM) jcastro: ok, so the idea for this session is we want to familiarize you with general bug "workflow" stuff
(04:02:55 PM) jcastro: so that you're aware of tools and techniques we use to make better bugs
(04:03:05 PM) jcastro: and how to make that process efficient so bugs get fixed quicker
(04:03:23 PM) jcastro: ubuntu is a "distribution", which means we bundle a bunch of software from what we call "upstreams"
(04:03:31 PM) jcastro: so like, GNOME, KDE, Xorg, Firefox, Openoffice, etc.
(04:03:53 PM) jcastro: since we have lots of users and sometimes things go wrong, those users report the bugs to us.
(04:04:04 PM) jcastro: and what people like pedro_ do is to ensure that reports get to the right people
(04:04:29 PM) jcastro: this is important because not all upstreams can keep track of bugs they get from distros
(04:04:51 PM) jcastro: so what we try to do is act as a collection filter and then forward the good bug reports to these upstream projects
(04:05:41 PM) jcastro: and to "close the loop" part of the process is checking to make sure that bugs that are fixed upstream get out to users.
(04:05:59 PM) jcastro: this involves working closely with upstreams to make sure everyone is getting the right information
(04:06:08 PM) jcastro: so, we can start off with the bug lifecylce
(04:06:15 PM) jcastro: which pedro can tell you about
(04:06:42 PM) pedro_: Yeah, the Bug workflow on Ubuntu is not that different from everything else out there
(04:07:13 PM) pedro_: so when Bugs get filed on Ubuntu they are assigned with the "New" Status
(04:07:40 PM) pedro_: this is not  like the "New" on Bugzilla
(04:07:55 PM) pedro_: this is more like the Unconfirmed there
(04:08:13 PM) pedro_: meaning that nobody else has confirmed the bug yet
(04:08:41 PM) pedro_: it might confuse people a bit if you're used to Bugzilla workflow
(04:08:52 PM) pedro_: ok so how to open a new bug in Ubuntu?
(04:09:13 PM) pedro_: Best way is to go to the application menu -> Help -> Report a bug
(04:09:39 PM) pedro_: or execute in the command line : ubuntu-bug $package_name ; ie: ubuntu-bug nautilus
(04:10:11 PM) pedro_: apport will show up and start collecting information of your system, which is going to submit to launchpad along with your description of the problem
(04:10:23 PM) pedro_: wanna know more? https://help.ubuntu.com/community/ReportingBugs is a good reading
(04:10:39 PM) pedro_: So we have a New bug on Launchpad now what?
(04:10:54 PM) pedro_: that bug needs to be Triaged
(04:11:14 PM) pedro_: most of bugs on Ubuntu are triaged by the Ubuntu BugSquad: https://wiki.ubuntu.com/BugSquad
(04:12:09 PM) pedro_: and also some of the products out there are triaged by their maintainers, so we're always looking for help to avoid that and let the developers concentrate on just that, fixing bugs and developing new features for Ubuntu
(04:12:20 PM) pedro_: wanna help on that? easy join the BugSquad ;-)
(04:12:35 PM) pedro_: ok so if that bug you reported is missing some information :
(04:12:55 PM) pedro_: the report Status is changed to "Incomplete"
(04:13:07 PM) pedro_: again, this is not like the Incomplete in Bugzilla, the bug is not closed
(04:13:27 PM) pedro_: this is more like the "NeedInfo" there
(04:14:10 PM) pedro_: If that Triager or Developer think that probably the report you opened is not a bug
(04:14:20 PM) pedro_: that report is marked as "Invalid"
(04:15:05 PM) pedro_: or if it's a feature request you want to see implemented but the maintainer don't want to implement it because it's too crazy or too controversial
(04:15:10 PM) pedro_: the bug is marked as "Won't Fix"
(04:15:45 PM) pedro_: when someone else than the reporter is having the same issue, that report is marked as "Confirmed"
(04:16:14 PM) pedro_: this is a recommendation that fit all the bug trackers out there : please do not confirm your own reports
(04:16:26 PM) pedro_: everytime you do that, a kitten die
(04:17:08 PM) pedro_: ok so if someone from the Ubuntu Bug Control team
(04:17:24 PM) pedro_: thinks that the report has enough information for a developer to start to work on it
(04:17:30 PM) pedro_: the report is marked as Triaged
(04:17:37 PM) pedro_: and yes you need extra powers to do that
(04:18:22 PM) pedro_: how to request that rights? have a look to -> http://wiki.ubuntu.com/UbuntuBugControl
(04:19:03 PM) jcastro: ooh, a question!
(04:19:14 PM) jcastro: QUESTION what should we do with upstream packages that are dead, or orphaned (like gnome-volume-manager)?
(04:19:29 PM) jcastro: Usually I try to find the project that supercedes that
(04:19:46 PM) jcastro: so for example, gvm is replaced by something (part of the utopia stack I can't remember right now)
(04:19:54 PM) jcastro: and then ask the reporter if it happens in that
(04:20:05 PM) jcastro: if the problems is dead dead upstream then usually it just sits there. :-/
(04:20:33 PM) pedro_: let's continue
(04:20:50 PM) pedro_: most of the developers look into the Triaged bugs to see what to fix next
(04:21:10 PM) pedro_: so if one of them is working on a bug, they change the status to "In Progress"
(04:21:34 PM) pedro_: And I've seen some confusion here
(04:22:48 PM) pedro_: in a few reports i've seen that the reporter when is asked to provide more information and they're looking for that
(04:22:56 PM) pedro_: they change the status to "In Progress"
(04:23:36 PM) pedro_: don't do that, the status is still Incomplete, so if you as a triager see something like that, please educate them
(04:24:22 PM) pedro_: when that fix that the developer was working on, get's committed into a bzr branch for example
(04:24:31 PM) pedro_: the status of that report is changed to "Fix Committed"
(04:25:05 PM) pedro_: if that fix that was committed is uploaded to an Official Ubuntu repository the status is changed to "Fix Released"
(04:25:28 PM) pedro_: <hggdh> QUESTION Should a triager set the status to InProgress? (if working on the triage)
(04:26:06 PM) pedro_: no,  if you're doing triage on a report (requesting more info, etc) the status should be Incomplete
(04:26:22 PM) pedro_: never In Progress, which is used by the developers instead
(04:27:00 PM) pedro_: working with the BugSquad is a good way to give some love back to your adorable Ubuntu project
(04:27:19 PM) pedro_: if you want to learn more about Triage: https://wiki.ubuntu.com/Bugs/HowToTriage
(04:27:36 PM) pedro_: and if you doubts about status just ask on the #ubuntu-bugs channel, don't be afraid
(04:27:46 PM) pedro_: Ok so on the upstream side
(04:28:14 PM) pedro_: if you think that a bug that is already marked as Triaged should go upstream
(04:28:34 PM) pedro_: because that feature wasn't developed by Ubuntu, the crash is not produced by an Ubuntu patch, etc, etc
(04:28:47 PM) pedro_: first thing is to: Check if the bug is already filed there
(04:28:52 PM) pedro_: let's take Gnome as an example
(04:29:29 PM) pedro_: so as said first thing, search for a duplicate on the upstream tracker, Gnome uses Bugzilla as their BTS: http://bugzilla.gnome.org/query.cgi
(04:29:43 PM) pedro_: you might want to go there and search
(04:30:03 PM) pedro_: <dutchie> QUESTION: should the status be set to "Fix Committed" if a patch is included in the comments?
(04:30:31 PM) pedro_: no, only if that patch was committed to a branch
(04:30:46 PM) pedro_: the status of that report should remain the same until that happen
(04:30:47 PM) mode (+o hggdh ) by ChanServ
(04:31:02 PM) pedro_: ok so let's continue with the upstream side
(04:31:19 PM) pedro_: you found a report upstream that is similar to the one you are triaging on Ubuntu
(04:31:24 PM) pedro_: what to do now?
(04:31:42 PM) pedro_: you might say, ok i'll add a comment with the bug number
(04:31:56 PM) pedro_: well that's correct, but let's do something else first
(04:31:59 PM) pedro_: i'll show you a trick:
(04:32:35 PM) pedro_: we might want to know if there's any report on Launchpad that links to that report on the Upstream Bug Tracker
(04:32:40 PM) pedro_: so let's find that out
(04:32:49 PM) pedro_: if you go to https://bugs.edge.launchpad.net/bugs/bugtrackers/
(04:32:58 PM) pedro_: you'll see a huge list of bugtrackers
(04:33:13 PM) pedro_: Gnome Bugzilla, the Kernel one, Freedesktop, etc , etc ,etc
(04:33:33 PM) hggdh: <^arky^> QUESTION:  What is 'merge' request ?
(04:33:46 PM) pedro_: if you do something like: https://bugs.edge.launchpad.net/bugs/bugtrackers/gnome-bugs/<<Bug Number on the Upstream BTS>>
(04:34:29 PM) pedro_: you'll be redirected to a bug on launchpad which links to that report
(04:34:44 PM) pedro_: example: https://bugs.edge.launchpad.net/bugs/bugtrackers/gnome-bugs/570329
(04:36:05 PM) jcastro: ^arky^: a merge request is when someone grabs the code from launchpad, fixes a bug, then publishes the source code
(04:36:12 PM) jcastro: then they ask for someone to merge in their fix
(04:36:28 PM) jcastro: so like, the package maintainer would look at that, review it, test it, and then merge it in
(04:37:35 PM) pedro_: ok so as said, before filing anything upstream search if there's a bug on launchpad linking to that report
(04:37:45 PM) pedro_: if there's one, well mark the bug as a duplicate of that
(04:38:05 PM) pedro_: and if there is not , open a new bug there on the upstream BTS
(04:38:18 PM) pedro_: grgr i mean link the report
(04:38:30 PM) jcastro: I just did a screencast on how to link reports!
(04:39:05 PM) jcastro: http://blip.tv/file/2527267
(04:39:43 PM) pedro_: awesome ;-))
(04:39:53 PM) pedro_: in the Gnome bugzilla side you also need to link the report
(04:40:25 PM) pedro_: there's a new and shiny feature which allows you to Add Bug URLs on the Gnome Bugzilla
(04:40:51 PM) pedro_: there's a tiny box on the right side which sayd "Add Bug Urls" if you don't find it , well look at Jorge's blog post about that:
(04:41:00 PM) pedro_: http://castrojo.wordpress.com/2009/08/29/gnome-bugzilla-update/
(04:41:47 PM) pedro_: there's no automatic way on Launchpad (yet) to just say, this is affecting upstream and add a comment there with our Bug url
(04:42:17 PM) pedro_: right now you need to manually do that, so please : Add  the bug url to the url lists there and add a nice comment as well
(04:42:19 PM) jcastro: gmb says he's working on it though if you want to send love/hate mail
(04:42:34 PM) pedro_: \o/
(04:43:03 PM) jcastro: ok
(04:43:11 PM) jcastro: so ... some ways to find bugs to link up
(04:43:23 PM) jcastro: https://edge.launchpad.net/ubuntu/+upstreamreport
(04:43:26 PM) jcastro: (please go there)
(04:43:40 PM) jcastro: sometimes developers know that the problem is upstream
(04:43:53 PM) jcastro: and mark the problem with an upstream task
(04:44:12 PM) jcastro: however sometimes they can't find or don't know where in the upstream bug tracker this might be
(04:44:17 PM) jcastro: so gmb created this report here
(04:44:31 PM) jcastro: (for the purposes of this talk let's just look at the last column)
(04:44:54 PM) jcastro: those are bugs that have been marked as an upstream problem, but NOT linked upstream
(04:45:14 PM) jcastro: so, /potentially/ those are bugs where we have failed to communicate to an upstream project.
(04:45:18 PM) jcastro: which is bad.
(04:45:31 PM) jcastro: however, bug work being what it is, sometimes something is marked wrong
(04:45:41 PM) jcastro: or someone thinks it's upstream and it's not
(04:45:46 PM) jcastro: or sometimes someone makes a mistake
(04:45:52 PM) jcastro: so what I do is check that last column
(04:45:57 PM) jcastro: and when you click on them you get a list of bugs
(04:46:06 PM) jcastro: so if you're interested in VLC
(04:46:20 PM) jcastro: you'll see it has 6 possible bugs that could (or could not) be upstream related
(04:46:32 PM) jcastro: so you can start with that list of 6 and work on them
(04:46:40 PM) jcastro: when we do bug days we check these all the time
(04:46:50 PM) jcastro: and we like to see over 90% of the bugs
(04:47:28 PM) jcastro: so as we get closer to release I am usually going around to people who triage certain bugs reminded them to get those bugs forwarded upstream
(04:47:52 PM) jcastro: i've started this section of the wiki https://wiki.ubuntu.com/Upstream
(04:48:18 PM) jcastro: for people who are interested in helping getting the bugs and patches that people submit to the right places
(04:48:43 PM) jcastro: So if you're interested in becoming an upstream contact for your favorite project, let me know! https://wiki.ubuntu.com/Upstream/Contacts
(04:49:09 PM) jcastro: so, as another example
(04:49:27 PM) jcastro: in that report, you see openoffice.org with 67 bugs that could be upstreamed
(04:49:51 PM) jcastro: ooo is "special" because in many ways it has 2 bugtrackers upstream, the go-ooo one and the sun one
(04:49:58 PM) jcastro: so in alot of ways that's double the work.
(04:50:22 PM) jcastro: also, don't get too discouraged by the kernel bugs, they're on a sharp decline (there used to be over 8,000!)
(04:50:33 PM) jcastro: any questions so far?
(04:50:49 PM) jcastro: ok
(04:50:55 PM) jcastro: another great resource I use is this
(04:50:58 PM) jcastro: http://qa.ubuntu.com/reports/launchpad-database/unlinked-bugwatch.html
(04:51:15 PM) jcastro: lots of times users Do The Right Thing(tm) and DO find if a bug is reported upstream
(04:51:19 PM) jcastro: or in another distro
(04:51:31 PM) jcastro: you've probably seen these before "This bug is also in Debian!" and then a URL
(04:51:40 PM) jcastro: or, "This bug is fixed in debian!" and then a URL
(04:51:59 PM) jcastro: it helps ubuntu developers better if those bugs are linked
(04:52:10 PM) jcastro: sometimes people will just post the URL but not actually link the bug in launchpad
(04:52:25 PM) jcastro: so this page is every bug that is not linked, but has a URL in the comments that is a bug tracker URL
(04:52:36 PM) jcastro: so sometimes it might be a false alarm like "I think this is a bug here" and it's not
(04:52:46 PM) jcastro: but alot of times it is a person who just didn't link the bug
(04:53:06 PM) jcastro: so I go through this list here and I find a surprising amount of bugs where everyone is doing the right thing and just forgot to link the bugs
(04:53:16 PM) jcastro: so I doublecheck that the bugs are indeed the same and then I link them
(04:53:24 PM) jcastro: for other distros, upstream, whatever
(04:53:42 PM) jcastro: then what happens is when launchpad goes and gets the status of the remote bugs it updates the bug in LP.
(04:54:02 PM) jcastro: and it's MUCH easier for ubuntu developers to look a piles of bugs that are fixed in upstream or might have a patch in another distro or whatever.
(04:54:22 PM) jcastro: I've seen bugs where a person finds the bug fixed in debian but doesn't know what to do
(04:54:34 PM) jcastro: if it's linked it gets on the right radar and we can get those bugs fixed much quicker
(04:55:02 PM) jcastro: and my last tip, of course getting involved in the bug and hug days is a great way to contribute
(04:55:20 PM) jcastro: there are many upstreams that aren't as large as GNOME, KDE, etc. that need someone in Ubuntu to be their goto person
(04:55:46 PM) jcastro: so if you have a project that you're passionate about and what to be the bridge betweem the distro and that package then Go For It, and let me know and I can help you
(04:56:10 PM) jcastro: whoa!
(04:56:14 PM) jcastro: we're the last session of the day
(04:56:15 PM) mode (-o hggdh ) by hggdh
(04:56:24 PM) jcastro: thanks everyone for coming, hope you learned a  bunch and had a good time
(04:56:27 PM) mode (-m ) by jcastro
(04:56:31 PM) jcastro: smoke if you got em
(04:56:37 PM) pedro_: thanks folks!
(04:56:44 PM) asdf123: aids
(04:57:01 PM) c_korn: thanks jcastro and pedro_
(04:58:28 PM) itnet7: thanks guys good session!
(04:59:26 PM) ^arky^: thanks jcastro pedro_
(05:00:01 PM) pedro_: thanks for attending , if you have further doubts just show up at #ubuntu-bugs and ask :-)