ash211

Hi! I'm AndrewAsh and this is my bugsquad diary. Its purpose is to help those unfamiliar with triaging to see what happens on an everyday basis in the life of a triager!

I tend to specialize in Amarok, since I run Kubuntu. Therefore, most of what I mention on this page will be focused on Amarok bugs, at least until I am able to expand a bit more in scope.

Amarok

Amarok is one of the the best collection-based players in existence for Linux or any other OS. It follows the unix way of programming: create a tool that does one thing well. Then another. Then another. Then another. Then create a program that uses those tools to form a cohesive whole. That's exactly what Amarok does. It uses the Qt toolkit for its graphical UI, an SQL backend to manage the database, an audio backend to actually play the files, a music visualization backend to create visualizations, a tag library to read embedded tags in music files, etc etc.

If any one of those components malfunctions, then the fault looks to be Amarok's. This can be part of what makes triaging large programs difficult.

Apport crashes

What is easy to work with, though, is the crash files that apport produces for us. Apport is a system introduced in feisty that catches crashes as they occur and sends data to the Ubuntu bug tracker, launchpad. They look like Bug 109851 Notice all the attachments in the very first comment on the bug (from the original reporter) and how the title is prefixed with "[apport]".

You can find these amarok bugs as they are reported by subscribing to everything that goes on in the Amarok package in ubuntu by clicking on Bugmail Settings in the left pane. You can also subscribe to RSS feeds or mailing lists of all bugs in Ubuntu, but these are VERY high traffic, as you might guess!

Stracktraces

The stacktrace is what's most important when we're looking to see what's going on with a bug. Most of the time, an apport bug has already been reported by another user, unless the crash was really uncommon. So our first priority is to try to find a duplicate.

Open the stacktrace.txt attachment. A stracktrace is a log of what the program was last doing when it crashed. The ones that apport sends are ordered newest to oldest, so the top lines are most important since they're where the program actually crashed. See the QPixmap::convertFromImage() line there? From experience I remember seeing another bug similar to that one before. So I ask our handy-dandy tool bughelper to ... well.. help us with these bugs!

Bughelper

If you don't already have bughelper installed, follow ["https://wiki.ubuntu.com/BugHelper/doc/getting-started" the tutorial] at the Ubuntu Wiki. Once you get to "A Simple Search" you've got it set up enough for this. One of bughelper's strengths is recognizing duplicates of a bug. It does this with clue files, files that say "Bugs that look like this are usually duplicates of bug number xxxxxx" or something along those lines. Turns out I've already created a helper file that matches Bug 109851, so it should be easy to work with.

Bughelper can be run checking on either single bugs or whole groups of bugs. We'll use it on just one this time. Run $bughelper -b 109851 The result looks like:

andrew@b130:~$ bughelper -b 109851
http://launchpad.net/bugs/109851 [amarok Ubuntu: Unconfirmed/Undecided] - QPixmap::convertFromImage - Likely dupe of bug 87462

andrew@b130:~$

Identifying the Duplicate

As you can see there, our bug looks suspiciously similar to bug 87462. So I check out bug 87462] and compare its stacktrace with the one in our bug. Flipping back and forth in two tabs on firefox is an easy way I've found. And yep, they look pretty much identical.

Minor Differences

The hex values on the left of the stacktrace tells where in ram those calls were made (or something like that, I'm not sure) on that specific machine. Since people's setups are different, the values will change, but that's not important.

There are a few more differences between the stack traces: "KApplication::notify ()" compared to "KIconTheme::KIconTheme ()" in line 7 and another one in line 13. But since the two are so close we can be pretty sure they are identical crashes. If you have any questions, make sure to ask knowledgeable people. Ask around on IRC to find out who those people are.

Marking the Duplicate

Now that we've decided they're duplicates, we'll mark the brand new bug a duplicate of the old one. Go to bug 109851's page and add a comment at the bottom. We'll tell Dave what's going on with this duplicate thing before we actually make the change.

Pull up a nice response from the Ubuntu Wiki. Marking duplicates is the one we'll use here. Don't forget to change NUMBER in the boilerplate text to the number of this particular bug. Notice that I forgot to make the change while I was writing this diary. Oops. A quick correction and we're back on track. I also subscribed to the bug in case Dave has any questions later on that I might be able to answer.

Save that change, and now we'll actually mark the duplicate. Click "Mark as duplicate" in the top left corner, type in the number 87462, and enable the change.

One bug down, tons more to go!

BugSquad/Diaries/ash211 (last edited 2008-08-06 17:01:19 by localhost)