Bug reporting and Information levels: Difference between revisions

From Yocto Project
Jump to navigationJump to search
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:


= Bug submission steps=
= Bug submission steps=
==Create an bugzilla account ==
== Getting started with Bugzilla ==
 
Detailed information about Bugzilla in general, how to create a new account and how it works can be found in the  [[Bugzilla Configuration and Bug Tracking]] wiki page.
 


==Bug Reporter guidelines ==
==Bug Reporter guidelines ==


*Before reporting a bug, please read the [https://bugzilla.yoctoproject.org/page.cgi?id=bug-writing.html bug writing guidelines], please look at the list of [https://bugzilla.yoctoproject.org/duplicates.cgi most frequently reported bugs], and please [https://bugzilla.yoctoproject.org/query.cgi search] for the bug.
*Before reporting a bug, please read the [https://bugzilla.yoctoproject.org/page.cgi?id=bug-writing.html bug writing guidelines], please look at the list of [https://bugzilla.yoctoproject.org/duplicates.cgi most frequently reported bugs], and please [https://bugzilla.yoctoproject.org/query.cgi search] for the bug.
*Be precise
*Be precise and clear - explain it so others can reproduce the bug
*Be clear - explain it so others can reproduce the bug
*One bug per report
*One bug per report
*No bug is too trivial to report - small bugs may hide big bugs
*No bug is too trivial to report - small bugs may hide big bugs
*Clearly separate fact from speculation
*Clearly separate fact from speculation
*Provide clear and simple bug subject. It is recommended to put a Fault Component Name with brackets at the beginning of subject as a keyword, e.g. [Poky].
*Validate all fields are correct. If fields are not filled out correctly, the bug might be sent back to the submitter.
*Adds any additional information from the bug scrub.
*Assigns the bug to the correct person to disposition the bug.
*If a bug is too vague to make a determination then the Resolution Field of the bug will be set to need more information and sent back the bug submitter.
*Judge the right Severity.
*Bug Priority can't be set when report a bug. It will be set when doing bug Triage meeting


= Preliminaries=
= Preliminaries=
Line 20: Line 25:
*[https://bugzilla.yoctoproject.org/query.cgi Search] Bugzilla, to see whether your bug has already been reported.
*[https://bugzilla.yoctoproject.org/query.cgi Search] Bugzilla, to see whether your bug has already been reported.


=Reporting a New Bug - example 1=
=Best Practices when reporting a New Bug =
Reports should ideally indicate:
 
:* Which revisions of the code were being used (for each of the layers)
:* When the issue was last tested and known to work (if ever)
:* How to reproduce the error (if possible)
:* Details of where in the build process an error occurs
:* Links to any images which reproduce the problem
:* A link to an entry in [http://errors.yoctoproject.org/Errors/Latest/Autobuilder/ errors.yoctoproject.org] containing a full error report
:* If an issue has been retested and recurred, a reminder on the bug report that its still present (say once a month).
 
 
=Reporting a New Bug =
If you have reproduced the bug in a recent build and no-one else appears to have reported it, then:
If you have reproduced the bug in a recent build and no-one else appears to have reported it, then:


Line 28: Line 45:


::'''Component''': In which sub-part of the software does it exist?
::'''Component''': In which sub-part of the software does it exist?
::This field is required. Click the word "Component" to see a description of each component. If none seems appropriate, look for a "General" component.
:::This field is required. Click the word "Component" to see a description of each component. If none seems appropriate, look for a "General" component.
 
::'''Version''':
:::This field is required. The version field defines the version of the software the bug was found in.
 
::'''Severity'''
:::How severe the bug is, or whether it's an enhancement.
 
::'''Architecture'''
:::The operating system the bug was observed on. Note: When searching, selecting the option "All" only finds bugs whose value for this field is literally the word "All".
 
::'''Hardware'''
:::The hardware platform the bug was observed on. Note: When searching, selecting the option "All" only finds bugs whose value for this field is literally the word "All".
 
::'''Assignee'''
:::The person in charge of resolving the bug. An assignee is filled in by default, but  someone else can be the maintainer of the component that the bug was found. In that case, the assignee must be changed  accordingly.
 
::'''QA Contact'''
::: The person responsible for confirming this bug if it is unconfirmed, and for verifying the fix once the bug has been resolved.


::'''OS''': On which operating system (OS) did you find it? (e.g. Linux, Windows XP, Mac OS X.)
::'''OS''': On which operating system (OS) did you find it? (e.g. Linux, Windows XP, Mac OS X.)
::If you know the bug happens on more than one type of operating system, choose All. If your OS isn't listed, choose Other.
::: If you know the bug happens on more than one type of operating system, choose All. If your OS isn't listed, choose Other.
 
::'''Type of regression'''
:::A custom Drop Down field in this installation of Bugzilla.
:::* New, never tested - for new bugs that were found when a new test is performed.
:::* Regression, used to work - for the issues that used to work
:::* Regression, found by QA Test - issues found during the QA test cycle.
:::* Unknown, hard to categorise - issues hard to be assigned into the above categories
 
::'''Documentation Change'''
::: Required field. A custom Drop Down field in this installation of Bugzilla.
:::* Undecided (default)
:::* Yes (doc changes are required)
:::* No (bug/feature does not impact docs)
:::* Done (doc changes complete)
 


::'''Summary''': How would you describe the bug, in approximately 60 or fewer characters?
::'''Summary''': How would you describe the bug, in approximately 60 or fewer characters?
::A good summary should quickly and uniquely identify a bug report. It should explain the problem, not your suggested solution.
:::A good summary should quickly and uniquely identify a bug report. It should explain the problem, '''not''' your suggested solution.
::*Good: "Cancelling a File Copy dialog crashes File Manager"
:::*Good: "Cancelling a File Copy dialog crashes File Manager"
::*Bad: "Software crashes"
:::*Bad: "Software crashes"
::*Bad: "Browser should work with my web site"
:::*Bad: "Browser should work with my web site"
 
 


::'''Description''': The details of your problem report, including:
::'''Description''': The details of your problem report, including:


:::'''Build Date & Platform''': Date and platform of the build in which you first encountered the bug.
:::'''Build Date & Platform''': Date and platform of the build in which you first encountered the bug.
:::* AB Link: http://autobuilder.yoctoproject.org/pub/releases/yocto-1.7.rc3/build-appliance/Yocto_Build_Appliance-20141002002426.zip
::::* AB Link: http://autobuilder.yoctoproject.org/pub/releases/yocto-1.7.rc3/build-appliance/Yocto_Build_Appliance-20141002002426.zip
:::* poky commit: 5367855fe56db0c09b8fa7bb423b9de18d11eecc
::::* poky commit: 5367855fe56db0c09b8fa7bb423b9de18d11eecc
:::* other necessary commits: 9f815ab761e6b524625e4180397233eeb728f84e
::::* other necessary commits: 9f815ab761e6b524625e4180397233eeb728f84e
::::* Use Error reporting tool as often as possible which allows you to submit errors encountered during builds to a central database. Documentation [http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#using-the-error-reporting-tool  here]
::::*If the bug happened during a build (e.g. you didn't test using the build artefacts from the autobuilder), it is useful to add  the build configuration can be stated in the '''Build Date and Platform''' section" instead of using the [http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#using-the-error-reporting-tool Error reporting tool]
Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS        = "x86_64-linux"
NATIVELSBSTRING  = "Fedora-19"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE          = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7"
TUNE_FEATURES    = "m64 core2"
TARGET_FPU        = ""
meta                      =
meta-yocto          =
meta-yocto-bsp    = "master:abcb18a362e4fcb7612b43eb1e4e09f89ea02ea8"


:::'''Additional Builds and Platforms''': Whether or not the bug takes place on other platforms (or browsers, if applicable).
:::'''Additional Builds and Platforms''': Whether or not the bug takes place on other platforms (or browsers, if applicable).
:::*Doesn't Occur On Build 2006-08-10 on Windows XP Home (Service Pack 2), or name the commit
::::*Doesn't Occur On Build 2006-08-10 on Windows XP Home (Service Pack 2), or name the commit
 
:::'''Overview''': More detailed restatement of summary.
:::'''Overview''': More detailed restatement of summary.
:::*Drag-selecting any page crashes Mac builds in the NSGetFactory function.
::::*Drag-selecting any page crashes Mac builds in the NSGetFactory function.


:::'''Steps to Reproduce''': Minimized, easy-to-follow steps that will trigger the bug. Include any special setup steps.
:::'''Steps to Reproduce''': Minimized, easy-to-follow steps that will trigger the bug. Include any special setup steps.
Line 68: Line 137:
:::*'''Error reports''': http://errors.yoctoproject.org/Errors/Search/Details/5139/1/10/qemux86-64
:::*'''Error reports''': http://errors.yoctoproject.org/Errors/Search/Details/5139/1/10/qemux86-64


=Reporting a New Bug - example 2=
<span style="color:#ff0000"> '''Double-check your report for errors and omissions, then press "Commit". Your bug report will now be in the Bugzilla database.''' </span>
 
If it's more related to a build on your machine (e.g. you didn't test using the build artefacts from the autobuilder), also the build configuration can be stated in the '''Build Date and Platform''' section":
Double-check your report for errors and omissions, then press "Commit". Your bug report will now be in the Bugzilla database.
Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS        = "x86_64-linux"
NATIVELSBSTRING  = "Fedora-19"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE          = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7"
TUNE_FEATURES    = "m64 core2"
TARGET_FPU        = ""
meta
meta-yocto
meta-yocto-bsp    = "master:abcb18a362e4fcb7612b43eb1e4e09f89ea02ea8"
 
=others=
 
 
*First, you must select the correct Faul Component Name when selecting
*Provide clear and simple bug subject. It is recommended to put a Fault Component Name with brackets at the beginning of subject as a keyword, e.g. [Poky].
*Validate all fields are correct. If fields are not filled out correctly, the bug might be sent back to the submitter.
*Judge the right Severity.
*Adds any additional information from the bug scrub.
*Assigns the bug to the correct person to disposition the bug.
*If a bug is too vague to make a determination then the Resolution Field of the bug will be set to need more information and sent back the bug submitter.
*Bug Priority can't be set when report a bug. It will be set when doing bug Triage meeting

Latest revision as of 06:54, 13 May 2015

You should also read our Community Guidelines before submitting bugs.


Bug submission steps

Getting started with Bugzilla

Detailed information about Bugzilla in general, how to create a new account and how it works can be found in the Bugzilla Configuration and Bug Tracking wiki page.

Bug Reporter guidelines

  • Before reporting a bug, please read the bug writing guidelines, please look at the list of most frequently reported bugs, and please search for the bug.
  • Be precise and clear - explain it so others can reproduce the bug
  • One bug per report
  • No bug is too trivial to report - small bugs may hide big bugs
  • Clearly separate fact from speculation
  • Provide clear and simple bug subject. It is recommended to put a Fault Component Name with brackets at the beginning of subject as a keyword, e.g. [Poky].
  • Validate all fields are correct. If fields are not filled out correctly, the bug might be sent back to the submitter.
  • Adds any additional information from the bug scrub.
  • Assigns the bug to the correct person to disposition the bug.
  • If a bug is too vague to make a determination then the Resolution Field of the bug will be set to need more information and sent back the bug submitter.
  • Judge the right Severity.
  • Bug Priority can't be set when report a bug. It will be set when doing bug Triage meeting

Preliminaries

  • Reproduce your bug using a recent build of the software, to see whether it has already been fixed.
  • Search Bugzilla, to see whether your bug has already been reported.

Best Practices when reporting a New Bug

Reports should ideally indicate:

  • Which revisions of the code were being used (for each of the layers)
  • When the issue was last tested and known to work (if ever)
  • How to reproduce the error (if possible)
  • Details of where in the build process an error occurs
  • Links to any images which reproduce the problem
  • A link to an entry in errors.yoctoproject.org containing a full error report
  • If an issue has been retested and recurred, a reminder on the bug report that its still present (say once a month).


Reporting a New Bug

If you have reproduced the bug in a recent build and no-one else appears to have reported it, then:

  1. Choose "Enter a new bug"
  2. Select the product in which you've found the bug
  3. Fill out the form. Here is some help understanding it:
Component: In which sub-part of the software does it exist?
This field is required. Click the word "Component" to see a description of each component. If none seems appropriate, look for a "General" component.
Version:
This field is required. The version field defines the version of the software the bug was found in.
Severity
How severe the bug is, or whether it's an enhancement.
Architecture
The operating system the bug was observed on. Note: When searching, selecting the option "All" only finds bugs whose value for this field is literally the word "All".
Hardware
The hardware platform the bug was observed on. Note: When searching, selecting the option "All" only finds bugs whose value for this field is literally the word "All".
Assignee
The person in charge of resolving the bug. An assignee is filled in by default, but someone else can be the maintainer of the component that the bug was found. In that case, the assignee must be changed accordingly.
QA Contact
The person responsible for confirming this bug if it is unconfirmed, and for verifying the fix once the bug has been resolved.
OS: On which operating system (OS) did you find it? (e.g. Linux, Windows XP, Mac OS X.)
If you know the bug happens on more than one type of operating system, choose All. If your OS isn't listed, choose Other.
Type of regression
A custom Drop Down field in this installation of Bugzilla.
  • New, never tested - for new bugs that were found when a new test is performed.
  • Regression, used to work - for the issues that used to work
  • Regression, found by QA Test - issues found during the QA test cycle.
  • Unknown, hard to categorise - issues hard to be assigned into the above categories
Documentation Change
Required field. A custom Drop Down field in this installation of Bugzilla.
  • Undecided (default)
  • Yes (doc changes are required)
  • No (bug/feature does not impact docs)
  • Done (doc changes complete)


Summary: How would you describe the bug, in approximately 60 or fewer characters?
A good summary should quickly and uniquely identify a bug report. It should explain the problem, not your suggested solution.
  • Good: "Cancelling a File Copy dialog crashes File Manager"
  • Bad: "Software crashes"
  • Bad: "Browser should work with my web site"


Description: The details of your problem report, including:
Build Date & Platform: Date and platform of the build in which you first encountered the bug.
Build Configuration: 
BB_VERSION        = "1.24.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Fedora-19"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE           = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7"
TUNE_FEATURES     = "m64 core2"
TARGET_FPU        = ""
meta                      =
meta-yocto           =
meta-yocto-bsp    = "master:abcb18a362e4fcb7612b43eb1e4e09f89ea02ea8"
Additional Builds and Platforms: Whether or not the bug takes place on other platforms (or browsers, if applicable).
  • Doesn't Occur On Build 2006-08-10 on Windows XP Home (Service Pack 2), or name the commit
Overview: More detailed restatement of summary.
  • Drag-selecting any page crashes Mac builds in the NSGetFactory function.
Steps to Reproduce: Minimized, easy-to-follow steps that will trigger the bug. Include any special setup steps.
  1. View any web page. (I used the default sample page, resource:/res/samples/test0.html)
  2. Drag-select the page. (Specifically, while holding down the mouse button, drag the mouse pointer downwards from any point in the browser's content region to the bottom of the browser's content region.)
Actual Result: What the application did after performing the above steps.
  • The application crashed.
Expected Results: What the application should have done, were the bug not present.
  • The window should scroll downwards. Scrolled content should be selected. (Or, at least, the application should not crash.)
Additional Information: Any other useful information.
For crashing bugs:
  • Windows: Note the type of the crash, and the module that the application crashed in (e.g. access violation in apprunner.exe).
  • Mac OS X: Attach the "Crash Reporter" log that appears upon crash. Only include the section directly below the crashing thread, usually titled "Thread 0 Crashed". Please do not paste the entire log!
For errors reported on the Error reports website:

Double-check your report for errors and omissions, then press "Commit". Your bug report will now be in the Bugzilla database.