Reporting

Differences between revisions 24 and 42 (spanning 18 versions)
Revision 24 as of 2010-03-19 01:48:50
Size: 12481
Editor: pool-74-107-129-37
Comment:
Revision 42 as of 2014-02-13 16:04:34
Size: 6936
Editor: 204
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<tablestyle="float:right; font-size: 0.9em; background:#F1F1ED;margin: 0 0 1em 1em;" style="padding:2.0em;"><<TableOfContents(2)>>|| #title Writing a Good X Bug
<<Include(X/MenuBar)>>
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; background-image: url('https://librarian.launchpad.net/1812570/bugsquad.png'); background-repeat: no-repeat; background-position: 98% 0.5ex; margin: 0 0 1em 1em; padding: 0.5em;">'''Contents'''<<BR>><<TableOfContents>>||
Line 3: Line 5:
A convenient way to report bugs against Ubuntu's Xorg is: The official way to report defects against Ubuntu's Xorg is:
Line 5: Line 7:
{{{
  ubuntu-bug xorg
}}}
||||<bgcolor="#f1f1DD;"style="width:100%;border-radius: 15px 15px 15px 15px;font-size: 2em; text-align: center;">'''ubuntu-bug xorg'''||||
Line 9: Line 9:
The {{{ubuntu-bug}}} script will automatically include a lot of files and information we need for troubleshooting problems. A bot will analyze your bug and move it to the video driver or other package that is appropriate for your bug report. This lets you attach a lot of common debugging data. But it's not enough!!
Line 11: Line 11:
Be sure to give a detailed description of the problem, with steps to reproduce it if possible, otherwise the bug could be closed as ambiguous/too-little-detail. Include a '''detailed description''' of the problem.
 * A '''good description'''
 * '''Step-by-step directions''' for how you reproduced it
 * When was your system '''last working''' properly?
 * '''photo''' of the screen
Line 13: Line 17:
If you do not wish to use that script and wish to file a bug manually, see below for a list of files and data to include. Note that if you do not attach the necessary files, it will add considerable delay in getting a fix for your issue. If your report doesn't have a good description, and there's no relevant errors in your log files, your bug will be closed as not actionable and you'll be referred here. Don't be upset - the always-busy X package maintainers get a LOT of bug reports and need to focus their limited time on well-described problems. Instead, read this page and try again, making your new bug report a well-described problem.
Line 15: Line 19:
Keep in mind that the Launchpad bug tracker is a development tool, not for technical support - Ubuntu does have [[http://www.ubuntu.com/support|volunteer and paid technical support staff]] but none of them frequent the bug tracker. In particular, if you're using a released version of Ubuntu, you probably should start with the technical support channels.
Line 16: Line 21:
== Troubleshooting == == Be Specific, Especially in the Title ==
Line 18: Line 23:
If you'd like to do some investigation beyond just reporting the bug, please see the page: X symptoms are often generic things like "booted with black screen", or "crashed", or "sluggish performance". Two distinct bugs can have the same symptoms but different causes. The more specific you are, the less likely some other confused reporter will spam your bug report with irrelevant messages.
Line 20: Line 25:
[[X/Troubleshooting]] == Focus on One Issue ==
Line 22: Line 27:
== Choosing a Good Title == The rule is "One defect, per person, per hardware, per report". Don't amalgamate every issue and hardware you find a problem in after an update. Otherwise, the maintainer will just pick one at random and all others will be ignored. Instead, do a separate report for each distinct issue, on each hardware. This is how different hardware can have similar problematic symptoms (ex. computer won't boot), but different root causes, and patches that fix the different causes.
Line 24: Line 29:
Your title should communicate two things: The symptom you're seeing,
and whatever is unique or unusual about your system. Otherwise, your
bug may not get proper attention.
It's cheap and easy for the maintainers to dupe your reports together if it can be proven they all have the same cause.
Line 28: Line 31:
''' Examples: '''
||<style="background-color: #FF8080;"> '''BAD''':|| Crashes randomly ||
||<style="background-color: #FF8080;"> '''BAD''':|| Crazy screen issues on boot ||
||<style="background-color: #FF8080;"> '''BAD''':|| Multiple problems with CD today ||
||<style="background-color: #FF8080;"> '''BAD''':|| Not able to login or start X after updating ||
||<style="background-color: lightgreen;"> '''GOOD''':|| Screen briefly corrupts during boot with -nv (NVidia 6100) ||
||<style="background-color: lightgreen;"> '''GOOD''':|| [fglrx] atieventsd crashed with SIGSEGV in XextAddDisplay() ||
||<style="background-color: lightgreen;"> '''GOOD''':|| [Hardy Alpha-3] Alt-CD (only) selected wrong driver (Matrox / BenQ FP91+) ||
||<style="background-color: lightgreen;"> '''GOOD''':|| [Gutsy] Periodic crashes w/ high CPU on Dell Latitude D505 (-intel 855GM) ||
||<style="background-color: lightgreen;"> '''GOOD''':|| [Dapper,Edgy] Wrong default refresh rates on 16:10 LCD panels ||
||<style="background-color: lightgreen;"> '''GOOD''':|| After update to -intel 2.0-0ubuntu3, X fails with 'Invalid mode' error ||
== Banish 'Random' from Your Vocabulary ==
Line 40: Line 33:
== From Complaint to Change == Many times it's unclear what is causing the X problem. But words like "randomly", "unexpectedly", "intermittently", etc. just gives the impression you haven't given your problem much thought or study.
Line 42: Line 35:
What we call "bug reports" actually covers a wide range in terms of quality: If you simply can't characterize it, consider holding off on filing a bug report until you have a better understanding and can describe it more specifically.
Line 44: Line 37:
 * ''Change Request''
 * ''Defect Report''
 * ''Support Request''
 * ''Complaint''
== Use !!Science!! ==
Line 49: Line 39:
''Change Requests'' are the meat and potatoes of a packager's job. It could be a request for adding a patch, updating to a new version of a package, changing the standard defaults, or so on. It is actionable, specific, and 100% known what to do. Treat writing your bug report like you would writing a chemistry lab report.
Line 51: Line 41:
''Defect Reports'' are high quality bug reports. They have documented steps to reproduce the issue, typically are confirmed by another tester, and while the cause of the problem may not be known, the issue is well characterized and it is clear what the next steps are to troubleshoot it. Write down the '''procedure''' for producing the issue. Specify '''expected''' results and '''actual''' results. '''Identify variables''' - what has changed recently about your system, what makes your system unique, what you're doing when the problem occurs. Take lots of '''measurements''' - how many times a day did it happen? Does it happen only when you're on the computer, or also (only?) when idle? Make a '''hypothesis''' and attempt to disprove it. Repeat the '''experiment''' and see if you get the same results.
Line 53: Line 43:
''Support Requests'' have a problem statement and might indicate defects, but the reporter will need assistance in doing further debugging work before that can be determined for certain. For instance, standard troubleshooting processes need to be done, or files collected and analyzed. == Keep Calm and Carry On ==
Line 55: Line 45:
''Complaints'' differ from support requests in that they generally do not have a clear problem statement. Bugs can be frustrating, and X bugs particularly so, especially when it feels like no one is paying attention to your bug reports.
Line 57: Line 47:
Now, complaints can be upgraded into support requests, support requests into defect reports, and defect reports to change requests but each step requires effort. If we say this takes X, Y, and Z amounts of effort each, then you can see that fixing a complaint requires X + Y + Z effort total, compared with just Z for Defect Reports. Obviously it is most efficient for the developers to focus on Defect Reports first, because since there is a limited total amount of developer resources, more defect reports can be fixed in a given amount of time. But don't give in to the dark side. Losing your cool and ranting can be quite unproductive, and just makes you look bad for all posterity. Instead keep discussions civil, and follow the [[http://www.ubuntu.com/community/conduct|Ubuntu Code of Conduct]]. There are millions of Ubuntu users, and thousands of bug reports and just a handful of people to work on fixes -- it simply is not humanly possible to give a personal reply to every bug report.
Line 59: Line 49:
This is why it is important for you to file a good bug report. Good reports make the best use of developer energies, and that can mean less delay for getting a fix. == Be Prepared to Roll Up Your Sleeves ==
Line 61: Line 51:
Bug reports are a way to engage with the developers. It's not a support request, it's a way to participate in the development process itself. It may be limited to just testing the fix and verifying it works, or it could be extensively technical. Be ready to do some work, and be clear if you have time or technical limits you want to have honored.
Line 62: Line 53:
== Do's and Don't's ==

||<tablestyle="width: 80%;" style="background-color: #FF8080;"> DON'T: || Assume "they must already know about this" and skip reporting ||
||<style="background-color: lightgreen;"> DO: || Look for existing bug reports that exactly matches your problem, and if not file a new bug ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Assume a "similar" bug is exactly what you're seeing ||
||<style="background-color: lightgreen;"> DO: || File a new bug, but mention the ID's of all bugs that sound similar. Someone can easily dupe them together later. ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Use the word "randomly" to describe the problem ||
||<style="background-color: lightgreen;"> DO: || Describe the bug in a scientific manner. "randomly" is sort of a weasel word that should suggest to you that you ought to do more analysis to characterize the problem properly. ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Add "me too" responses to an existing bug, with no further information. ||
||<style="background-color: lightgreen;"> DO: || Make sure any comment you make on someone else's bug adds tangible value to the discussion. Add missing data (photos, logs) to add to an existing bug's "knowledge base" and to provide ample evidence that you indeed have the exact same issue. Or if you just wish to be notified, then Subscribe yourself to the bug. If in doubt, file a new bug, and reference the one you think might be a dupe, and let the experts decide. ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Post bugs with only a brief description of the problem, or none at all ||
||<style="background-color: lightgreen;"> DO: || Post steps to reproduce, relevant logs, config files, and data (see table below) '''For Xorg issues, ALWAYS ATTACH YOUR /var/log/Xorg.0.log''' ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Assume "everyone" is seeing this same bug ||
||<style="background-color: lightgreen;"> DO: || 90% of the time you are seeing something abnormal that others aren't. Consider what is unique about your system, any recent changes made, and so on. ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Assume others will "just know" how the bug occurs ||
||<style="background-color: lightgreen;"> DO: || Itemize the exact steps that result in the issue. Can you reproduce it at will? ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Fire and forget. Abandoned bugs rarely get fixed. ||
||<style="background-color: lightgreen;"> DO: || Follow up on your bug from time to time, even if it seems ignored. Report if the issue goes away or remains when new Ubuntu's come out. ||
||||||
||<style="background-color: #FF8080;"> DON'T: || Rant about the bug "driving away new users", threaten to "go back to windows or some other distro" unless the bug is fixed, or complain the bug is not getting enough attention. None of this helps get the bug fixed; it just makes people sad. ||
||<style="background-color: lightgreen;"> DO: || Follow the [[http://www.ubuntu.com/community/conduct|Ubuntu Code of Conduct]] and keep discussions civil, even if you're frustrated. There are thousands of bugs and just a handful of people to work on them, and we can't fix everything overnight. If you're not getting fast enough response on a bug, then in addition to improving the report, you can try reporting it upstream, make mention of the bug directly to developers via mailing lists or irc, or even undertaking troubleshooting and analysis procedures yourself. Half the work of solving a bug is reproducing it, so if you have the bug, you're already halfway to a solution! ;-) Many, many of Ubuntu's bugs are solved through the work of community members, who didn't know the underlying technology but were patient and diligent at asking questions and testing things out until they found a solution. ||


== What to Include in Bug Reports ==

|| '''Problem class:''' || '''Things to Include:''' ||
||<|3(^> '''General X bug''' || Description of problem ||
|| Paste in output of {{{lspci -nn | grep VGA}}} ||
|| Attach /var/log/Xorg.0.log ||
||<|7(^> '''Wrong resolutions, refresh rates, or monitor specs''' || Resolution, rate, or other parameter expected ||
|| Resolutions, rates, or other parameters actually obtained ||
|| /etc/X11/xorg.conf ||
|| /var/log/Xorg.0.log ||
|| Paste in output of {{{lspci -nn | grep VGA}}} ||
|| output of `sudo ddcprobe` ||
|| output of `xrandr --verbose` ||
||<|5(^> '''Wrong font dpi or size''' || Are you running GNOME, KDE, XFCE, or ...? ||
|| Affected (and unaffected) applications ||
|| /var/log/Xorg.0.log ||
|| output of `sudo ddcprobe` and `xdpyinfo` ||
|| Screenshot showing font differences ||
||<|8(^> '''X crash, lockup, freeze, exit, or doesn't start/shutdown''' || Detailed description of problem ||
|| Get a full backtrace ([[X/Backtracing]]) ||
|| List any versions you tried that did not have this issue ||
|| Steps to reproduce ||
|| How complete is the X failure? <<BR>> + Does ctrl+alt+f1 take you to a console? <<BR>> + Does ctrl+alt+backspace restart X? <<BR>> + Does mouse pointer still move? <<BR>> + Does the keyboard LED come on when hitting the CAPSLOCK key? <<BR>> + Can you ssh into the system from another computer? ||
|| /var/log/Xorg.0.log ||
|| /var/log/Xorg.0.log.old ||
|| Output of `dmesg` ||
||<|4(^> '''Keyboard, touchpad, and mouse issues''' || Description of the problem ||
|| /var/log/Xorg.0.log ||
|| output of `xprop -root` ||
|| output of `gconftool-2 -R /desktop/gnome/peripherals` ||
||<|4(^> '''Screen display corruption''' || Photo of the screen ||
|| Description of the problem ||
|| Does it also occur if DRI (3D) is disabled? Specify "Option 'NoDRI'" in your Device section. ||
|| /var/log/Xorg.0.log ||
||<|3(^> '''Bad video playback''' || /etc/X11/xorg.conf ||
|| /var/log/Xorg.0.log ||
|| output of `lspci -vvnn` ||
Often, the more involved the reporter is at following up with new info, chasing down leads, locating patches or work arounds to test, and trying out variants, the more likely the bug will catch someone's interest and lend a hand.
Line 132: Line 57:
Apport does a good job of collecting information on certain kinds of bugs. By default, it tries to launch your web browser to complete the bug filing. But sometimes you can't do this. Maybe X is utterly broken, or the buggy machine lacks a network connection, or some other problem.

You can make apport capture bug data manually lik
e this:
Apport does a good job of collecting information on certain kinds of bugs. By default, it tries to launch your web browser to complete the bug filing. But sometimes you can't do this. You can make apport capture bug data manually like this:
Line 154: Line 77:
The crash files can be unpacked (like if you only want certain files):

{{{
  mkdir ~/tmp
  apport-unpack /path/to/file.crash ~/tmp/
}}}
Line 156: Line 86:
Once your X bug is reported, it will be reviewed and triaged. The triager may mark it Incomplete and ask some questions or request additional information (if you're curious, or would like to participate in triaging, see [[X/Triaging]]). Once your X bug is reported, a triager may mark it Incomplete with questions or request some info, or mark as a dupe of a known issue, file it upstream, or determine it's not actually an X bug and move it somewhere else. Due to the volume of reports, automated scripts are used to help with triage; please be patient, these bots are not very smart.
Line 158: Line 88:
If there is no reply from you within a month or two, the bug report may be closed as out of date / invalid (otherwise the tracker fills up with inactive bugs and gets confusing). You should feel free to reopen it once you have the needed information. If there is no reply from you within a month or two, the bug report may be closed as expired. You should feel free to reopen it once you have the needed information.
Line 160: Line 90:
Once you've submitted your replies, a second round of triaging takes place to evaluate if the bug is a Duplicate of another bug or not an issue requiring a fix. If neither of those apply, the bug will be marked Triaged, which marks it ready for the research step. If your bug is forwarded upstream, you should participate in the discussions there. You may need to register an account on bugs.freedesktop.org to do so. If upstream finds a fix, it will be evaluated for possible inclusion in Ubuntu, if the fix is straightforward and seems safe.
Line 162: Line 92:
In the research step, the bug may be assigned to a developer or forwarded to an upstream bug tracker. If it is forwarded upstream, you should also subscribe to that bug report so you can answer questions or run tests for those developers.

Once a fix is found either in Ubuntu or upstream, the Ubuntu developers will take the fix and package it for Ubuntu. They may ask for people to test and verify the fix before uploading it.
If a fix is found and backported, you'll be asked to test and verify that it solves the issue. Often the fix can't be rolled out until someone validates it.

The official way to report defects against Ubuntu's Xorg is:

ubuntu-bug xorg

This lets you attach a lot of common debugging data. But it's not enough!!

Include a detailed description of the problem.

  • A good description

  • Step-by-step directions for how you reproduced it

  • When was your system last working properly?

  • photo of the screen

If your report doesn't have a good description, and there's no relevant errors in your log files, your bug will be closed as not actionable and you'll be referred here. Don't be upset - the always-busy X package maintainers get a LOT of bug reports and need to focus their limited time on well-described problems. Instead, read this page and try again, making your new bug report a well-described problem.

Keep in mind that the Launchpad bug tracker is a development tool, not for technical support - Ubuntu does have volunteer and paid technical support staff but none of them frequent the bug tracker. In particular, if you're using a released version of Ubuntu, you probably should start with the technical support channels.

Be Specific, Especially in the Title

X symptoms are often generic things like "booted with black screen", or "crashed", or "sluggish performance". Two distinct bugs can have the same symptoms but different causes. The more specific you are, the less likely some other confused reporter will spam your bug report with irrelevant messages.

Focus on One Issue

The rule is "One defect, per person, per hardware, per report". Don't amalgamate every issue and hardware you find a problem in after an update. Otherwise, the maintainer will just pick one at random and all others will be ignored. Instead, do a separate report for each distinct issue, on each hardware. This is how different hardware can have similar problematic symptoms (ex. computer won't boot), but different root causes, and patches that fix the different causes.

It's cheap and easy for the maintainers to dupe your reports together if it can be proven they all have the same cause.

Banish 'Random' from Your Vocabulary

Many times it's unclear what is causing the X problem. But words like "randomly", "unexpectedly", "intermittently", etc. just gives the impression you haven't given your problem much thought or study.

If you simply can't characterize it, consider holding off on filing a bug report until you have a better understanding and can describe it more specifically.

Use !!Science!!

Treat writing your bug report like you would writing a chemistry lab report.

Write down the procedure for producing the issue. Specify expected results and actual results. Identify variables - what has changed recently about your system, what makes your system unique, what you're doing when the problem occurs. Take lots of measurements - how many times a day did it happen? Does it happen only when you're on the computer, or also (only?) when idle? Make a hypothesis and attempt to disprove it. Repeat the experiment and see if you get the same results.

Keep Calm and Carry On

Bugs can be frustrating, and X bugs particularly so, especially when it feels like no one is paying attention to your bug reports.

But don't give in to the dark side. Losing your cool and ranting can be quite unproductive, and just makes you look bad for all posterity. Instead keep discussions civil, and follow the Ubuntu Code of Conduct. There are millions of Ubuntu users, and thousands of bug reports and just a handful of people to work on fixes -- it simply is not humanly possible to give a personal reply to every bug report.

Be Prepared to Roll Up Your Sleeves

Bug reports are a way to engage with the developers. It's not a support request, it's a way to participate in the development process itself. It may be limited to just testing the fix and verifying it works, or it could be extensively technical. Be ready to do some work, and be clear if you have time or technical limits you want to have honored.

Often, the more involved the reporter is at following up with new info, chasing down leads, locating patches or work arounds to test, and trying out variants, the more likely the bug will catch someone's interest and lend a hand.

Reporting Bugs from a Different Machine

Apport does a good job of collecting information on certain kinds of bugs. By default, it tries to launch your web browser to complete the bug filing. But sometimes you can't do this. You can make apport capture bug data manually like this:

   apport-bug --save /tmp/foo.apport

Then copy that foo.apport file to the machine you want to file the bug from (using scp, rsync, a usb drive, or whatever), and then file it like this:

  apport-bug ~/foo.apport

For the situation where apport automatically captured a crash dump from a crash or X lockup, but you can't file it from the sick machine, you will find the file in your /var/crash directory on the sick machine. Copy that over to another machine and file it from there, like above:

  apport-bug /path/to/file.crash

The crash files can be unpacked (like if you only want certain files):

  mkdir ~/tmp
  apport-unpack /path/to/file.crash ~/tmp/

What Next?

Once your X bug is reported, a triager may mark it Incomplete with questions or request some info, or mark as a dupe of a known issue, file it upstream, or determine it's not actually an X bug and move it somewhere else. Due to the volume of reports, automated scripts are used to help with triage; please be patient, these bots are not very smart.

If there is no reply from you within a month or two, the bug report may be closed as expired. You should feel free to reopen it once you have the needed information.

If your bug is forwarded upstream, you should participate in the discussions there. You may need to register an account on bugs.freedesktop.org to do so. If upstream finds a fix, it will be evaluated for possible inclusion in Ubuntu, if the fix is straightforward and seems safe.

If a fix is found and backported, you'll be asked to test and verify that it solves the issue. Often the fix can't be rolled out until someone validates it.

X/Reporting (last edited 2016-01-10 21:36:02 by penalvch)