Wednesday, February 8, 2012

Day Twelve: Debugging the Code

The assignment for next class is to read chapter 6 in the online Teach Open Source textbook and complete exercises 6.4 through 6.7.

There is not a whole lot of reading in chapter 6 compared to some other chapters. It is centered around the exercises instead of blocks of text and encourages the reader to spend time learning about how a bug tracker system works through practical application. XBMC uses Edgewall Software's tracking system, which is simply called Trac. The landing page for XBMC's tracking system can be found here. All of the descriptive fields mentioned in 6.2.1, such as summary, description, comments, reporter, owner, version, severity and priority, status, and resolution, are present in XBMC's tracker.

Exercise 6.4: Find the Oldest Bug
The oldest bug for XBMC is Ticket #3077. It was created on 07/15/06, and it was last modified on 01/19/10. Based on the description, playback from a playlist does not function as intended when the user the user tells XBMC to play with dvdplayer. Once the first item is played, XBMC reverts back to the default mplayer. The owner, arnova, submitted a placeholder patch to fix the bug, but there has not been any detectable activity for over two years now. It is possible that a fix was included in a later release and the owner and/or the developers simply forgot to close the bug report. This is definitely worth investigating.

Exercise 6.5: Create Your Bug Tracker Account
I mentioned during our group presentation last class that XBMC's forum would not let me register again. I created a username/password several weeks ago but forgot my credentials. There are no obvious ways to retrieve lost log-in information, like a "forgot your password?" link, so I tried to create a new account. I used my private gmail account and my school gmail account, but both attempts returned a message that states that XBMC does not allow spammers to register for the forum. One of my other group members, Julie, mentioned that she had a similar problem, but she said it went away after a day or two. I waited a day and even created a new gmail account, and yet I am still getting the same response whenever I try to register. I contacted the webmaster and hope to receive a reply soon. The bug tracker is linked to the forum username/password; therefore, I will be account-less for a little while.

Exercise 6.6.1: Reproduce a Bug
I looked a lot of the bug reports and tried to find one that seemed easy to reproduce. Ticket #12592 states that XBMC crashes when a movie is renamed in a certain way. The steps to reproduce are as follows:

  1. Open XBMC and go to you Movie library
  2. Select any of your movies
  3. Hit 'c' to open context menu, then select 'rename movie'
  4. type some diacritic letters anywhere into the text field (but not at the end)
  5. move cursor at the end of the field and hit the backspace key twice quickly
When I hit 'c', a context menu opens, but there is no option to rename the video. The bug reporter mentions that the bug is absent on Windows (the report is for OS X). I was curious to see if a similar problem existed on the Linux version, but it appears that there is slightly different functionality or implementation here. Perhaps the hotkeys are different, and I just did something wrong; however, another user reported that he or she was unable to reproduce the bug in Linux just two days ago.

Exercise 6.7: Bug Triage
Without my username, there is not much I can do to triage bugs. I noticed a few bug reports that could use a closer inspection, such as the one mentioned in exercise 6.4. Most reports that I found were reasonably documented from a technical aspect. I will work more on this exercise once I hear back from the webmaster and get a working username/password.

No comments:

Post a Comment