How to file a Qt bug report in the new bug tracker

Posted by jesperht on March 2, 2010 · 6 comments

Unless you’ve been living under a rock, I’m sure you’ve noticed that a while ago we moved to a new public bug tracking system using Jira. The transition was bumpy, and we are still trying to iron out the kinks – however, I think that we can all agree that the system in general is a great improvement over our old proprietary solution. Having a public bug tracker is a vital organ in any living open source organism/community, and we love having it. Although it increases the transparency for how we do our bug fixes, we have yet to be as clear with our processes – until now. Thus, I present to you the ultra-failsafe guide to making a quality bug report for Qt:

Story:
Felix is a happy Qt user that has just downloaded Qt 4.6.2. He anxiously unzipped the file, and starts the compilation. He grabs a cup of tea and takes a short walk. Shortly thereafter he returns, and erupts in delight as he realizes that everything has finished compiling and that he can finally run his favourite Qt demo: affine!
However, his happiness is short lived, as he sees that the demo crashes as soon as he attempts to use the rotate slider. Oh the agony! Luckily, diligent Felix decides to file a bug report – knowing, that if he creates a detailed quality report, the hard-working Trolls in far away lands may fix it for him. This will not only help himself, but any other kindred spirits that encounter the same issue as well.

This is what he did:

  1. Visit bugreports.qt.nokia.com (create an account if it’s your first time)
  2. Use the “Quick Search” field in the top right to try to find any similar bugs. If you find one, then leave a comment with any additional information you have, as well as clicking “Vote for it” in the left side menu.
  3. If you don’t find a bug report which matches your issue, then click “Create New Issues”
  4. Select the appropriate project and issue type. In this case, Qt and Bug.
  5. Fill out the fields…
  6. Summary

    Enter a short but descriptive text explaining the bug in a sentence.

    Affects Version

    Select the Qt version where you’re able to reproduce the bug.

    Components

    Select the component which best fits the location of the bug.

    Description

    A longer text describing, step by step, the minimum amount of actions required to reproduce the bug. Mentioning the expected outcome as well as the actual outcome is also a necessary step to gain a mutual understanding of the problem between the reporter and the assignee. Also, a vital piece of information in crash reports is the stacktrace. Retrieving a stracktrace is platform specific, however, all of them require that Qt be built with debug symbols. If you compiled Qt yourself, then make sure you supplied “-debug” during configure time. If you’re using binaries, then make sure you’ve installed the corresponding debug packages. Paste the stacktrace in the description if it’s not terribly long, else attach it as a text file. Finally, please supply any more details that you may have in this field. For instance “This bug only occurs if I have compositing enabled”, or “This is a regression from 4.6.1”.

    Environment

    Input as detailed description of your operating system, window manager, compiler, and any other pertinent information needed to reproduce the bug.

    Attachment

    This often neglected field is perhaps one of the most important. Here is where you can make a simple application that reproduces the bug and attach it. Ideally, a stand-alone main.cpp file which only has the bare minimum amount of code needed to reproduce the bug should be attached. A unit test, screen shot, or longer stacktrace is also incredibly useful.

    Source Req ID

    Leave blank

    Followed By

    Not needed
  7. Click “Create”

Here’s a screenshot of the bug report that Felix made:
bug report screenshot

Felix can now either start hacking on Qt to find a solution and file a merge request, or wait until a Troll prioritizes, schedules, and fixes the bug for a release.

In short:
Always provide as much information as possible together with your bug report. The more the better. Also, please specify if a bug is a regression or not. If it is, then specify what version it worked in last. Finally, supplying a testcase main.cpp is a sure-fire way to land in the “fasttrack” of bug resolution and into the hearts of the Trolls. Also, providing a testcase is a great means of preventing the same bug from cropping up in the future as a regression.

By creating a high quality bug report, you will gain priority over those less descriptive, and your chances of a speedy resolution increased. If after all your hard work we still reject your bug, then please don’t take it personally. Instead, add a comment in the report and explain your situation so that we can re-evaluate it. After all, we also make mistakes.

Finally, I would like to extend a very warm thanks to all our incredible bug reporters, community members and customers. Although we may not fix the bugs as quickly as you may always like, your feedback is incredibly valuable for us, and we look forward to seeing your quality bug reports in the future at bugreports.qt.nokia.com!

(Important) Edit:
Please file any WebKit bugs at http://trac.webkit.org/wiki/QtWebKitBugs instead.

QShare(this)

Possibly related posts:

  1. QtWebKit Accelerated Compositing Report
  2. Writing good bug reports

6 comments

1 Alexandra March 2, 2010 at 8:35 pm
 

You made my day. Thanks! :)

2 Philippe March 3, 2010 at 11:28 am
 

I like very much this new system.
A small criticism though: I am aware of the environment check box in the Text search area, but it would have been better to have a list box with each supported OS, to search bugs found on a specific OS.

3 Philippe March 3, 2010 at 3:53 pm
 

I should add, that it would be nice to know if a comment added to an issue, comes from a Nokia/Qt programmer, or from a Qt user.

4 Srikanth March 7, 2010 at 1:38 pm
 

Hi,

How to get Qt stacktrace on S60 platform. Any instructions any where??

5 sriky27 March 7, 2010 at 10:00 pm
 

This would be a handy feature. And how to get the Qt StackTrace on S60?

6 Philippe March 8, 2010 at 11:12 am
 

When there is a fix done, a direct URL into git would be handy.

Comments on this entry are closed.

Previous post:

Next post: