Difference between revisions of "Bugzilla"

From GnuCash
Jump to: navigation, search
(Commenting on existing bugs or entering new ones: improve log file para, split stack trace and trace file para)
m (GnuCash and the former Gnome Bugzilla: Highlighting)
 
(31 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
== Introduction ==
 
== Introduction ==
 
If you discover a problem with the program or its documentation (known as a ''bug''), you should record the bug so that it can be fixed by the developers. The GnuCash project uses the [{{BugURL}} Bugzilla] repository, which includes ''bugs'' and ''enhancement requests'' for GnuCash. Tips for submitting enhancement requests can be found at [[Enhancement requests]].
 
If you discover a problem with the program or its documentation (known as a ''bug''), you should record the bug so that it can be fixed by the developers. The GnuCash project uses the [{{BugURL}} Bugzilla] repository, which includes ''bugs'' and ''enhancement requests'' for GnuCash. Tips for submitting enhancement requests can be found at [[Enhancement requests]].
 +
;Tip: Bugzilla has a help button, currently linking into the [https://bugzilla.readthedocs.io/en/5.0/using/index.html Bugzilla 5.0.4+ documentation].
  
 
== Bug Tracker Overview ==
 
== Bug Tracker Overview ==
 
===Third Party Components===
 
===Third Party Components===
GnuCash is using several tools and sometimes also confused with similar sounding programs, which are maintained by other teams. They have their own bug trackers:
+
GnuCash uses several tools and is sometimes also confused with similar sounding programs, which are maintained by other teams. They have their own bug trackers:
* '''[https://github.com/codinguser/gnucash-android GnuCash for Android]''': Beneath [https://github.com/codinguser/gnucash-android/issues?q=is%3Aopen GitHub issues] see also [https://plus.google.com/communities/104728406764752407046 support group] and [https://gnucash.uservoice.com/forums/320493-gnucash-android feature requests].
+
;[https://github.com/codinguser/gnucash-android GnuCash for Android]: Beneath [https://github.com/codinguser/gnucash-android/issues?q=is%3Aopen GitHub issues] see also [https://plus.google.com/communities/104728406764752407046 support group] and [https://gnucash.uservoice.com/forums/320493-gnucash-android feature requests].
* '''AqBanking''' has its own [https://git.aquamaniac.de/trac/aqbanking/report bugtracker].
+
;AqBanking: has its own bugtracker. The details are on top of [[AqBanking]].
* '''Finance::Quote''' can be tested by using the ''gnc-fq-*'' command line tools, see [[FAQ#Q:_How_do_I_fix_a_.22system_error.22_or_.22unknown_error.22_when_getting_stock_quotes.3F|FAQ]].
+
;<nowiki>Finance::Quote</nowiki>: can be tested by using the ''gnc-fq-*'' command line tools, see [[Online_Quotes#Trouble_Shooting]].
::Use [https://rt.cpan.org/Public/Dist/Display.html?Status=Active&Name=Finance-Quote their Request Tracker] at the Comprehensive Perl Archive Network ([http://www.cpan.org/ CPAN]).
+
:Report bugs at [https://github.com/finance-quote/finance-quote/issues GitHub issues] (preferred by the maintainers) or [https://rt.cpan.org/Public/Dist/Display.html?Status=Active&Name=Finance-Quote their Request Tracker] at the Comprehensive Perl Archive Network ([http://www.cpan.org/ CPAN]). <!--https://bugs.gnucash.org/show_bug.cgi?id=798577-->
  
===Gnucash and Gnome Bugzilla===
+
===Translation Issues===
Until 2018 we used the [https://bugzilla.gnome.org/ Gnome Bugzilla]. When it was set in read only mode, GnuCash implemented its own [{{BugURL}} Bugzilla instance]. All existing GnuCash bugs were migrated and new should now be reported there. All bugs on Gnome's Bugzilla refer visitors to GnuCash's Bugzilla.
+
For missing or wrong  translations, pleaase contact the translator or translation team directly.
 +
;Program:
 +
:* In the program open <tt>Help->About->Credits</tt> and look at the end for a section <tt>Translated by</tt> or
 +
:* ask on your locale [[Mailing_Lists#Existing_Lists|mailing list]] or
 +
:* open the po file of your language in the [https://github.com/Gnucash/gnucash/tree/maint/po repository] and look at <tt>Language-Team:</tt> or <tt>Last-Translator:</tt>
 +
: for a contact address.
  
For all existing '''user accounts''' that touched any GnuCash bug ''email address'' and ''full name'' were migrated, but passwords and email "watch" lists are not.
+
;Documentation:
* Existing users will have to reset their passwords ''on their first use'' by using the "Forgot Password" link at the top of the page.
+
:The translator should have left a contact address on the title page, but it seems, most email addresses were removed for privacy reasons.
* ''Watch lists'' (to get the same bug-mail as other users including the [[#Configure Notifications | "pseudo-users"]], will need to be recreated on the Email Preferences tab in Preferences reachable by selecting Preferences at the top of any page after login.
+
;Other Components: See [[Translation]].
 +
 
 +
Some can be fixed directly in {{URL:wl}}.
 +
 
 +
===Organization===
 +
Bugzilla categorizes bugs by what it terms products and components. We've set up the following categories as top-level products:
 +
* [https://bugs.gnucash.org/enter_bug.cgi?product=∂Bugzilla Bugzilla]: Issues with this bug tracking system, not the program.
 +
* [https://bugs.gnucash.org/enter_bug.cgi?product=Documentation Documentation]: GnuCash Documentation: User Guide, Help, Man Pages, Tip of the Day. Edit the Wiki directly instead of filing bugs!
 +
* [https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash GnuCash]: Bugs in the program GnuCash
 +
* [https://bugs.gnucash.org/enter_bug.cgi?product=Packaging Packaging]: Bugs specific to the OS-specific packaging
 +
* [https://bugs.gnucash.org/enter_bug.cgi?product=Website Website]: Bugs specific to the GnuCash website (www.gnucash.org) and other web services
 +
 
 +
Most products have one or more component. When [https://bugs.gnucash.org/query.cgi?query_format=advanced searching for bugs] one can use product and component along with an enormous collection of other criteria to narrow the search. When filing a bug click the link above for the component you want to start in, then select the appropriate component for your problem.
 +
 
 +
===GnuCash and the former Gnome Bugzilla===
 +
'''Until 2018''', GnuCash used the [https://bugzilla.gnome.org/ Gnome Bugzilla] to track bugs. When Gnome moved to [{{URL:Gnome-git}} GitLab] their Bugzilla was set to ''read only'' mode and GnuCash implemented its own [{{BugURL}} Bugzilla instance]. All existing GnuCash bugs on Gnome were migrated to GnuCash's copy, and all GnuCash bugs on Gnome's Bugzilla refer visitors to GnuCash's Bugzilla. New bugs must be reported at GnuCash's Bugzilla.  
 +
 
 +
For all existing '''user accounts''' that touched any GnuCash bug, ''email address'' and ''full name'' were migrated. Passwords and email watch lists were not.
 +
:;Migrated users: ''on first access'' to GnuCash Bugzilla, must '''reset their password'''s by using the <tt>Forgot Password</tt> link at the top of the page.
 +
:;Watch lists: must be '''re-created''' on the Email Preferences tab in Preferences. See [[#Notifications | Notifications]] for more information.
  
 
== Triage ==
 
== Triage ==
Line 40: Line 65:
  
 
''Note:'' GnuCash has different '''versions''' that run under different '''operating systems'''. When you report a bug, you should include both the GnuCash version and the operating system you use in the bug report. You should also include any other information about your configuration that might be pertinent in your request. Examples of this include: your problem might depend on your [[Locale Settings]] (like ''currency'', ''number'' and ''date format''), which means you would add your '''language''' and '''region'''.
 
''Note:'' GnuCash has different '''versions''' that run under different '''operating systems'''. When you report a bug, you should include both the GnuCash version and the operating system you use in the bug report. You should also include any other information about your configuration that might be pertinent in your request. Examples of this include: your problem might depend on your [[Locale Settings]] (like ''currency'', ''number'' and ''date format''), which means you would add your '''language''' and '''region'''.
 +
;On updates: Do not change the ''version'', except it was a typo. Instead add a comment "In version {{Version}} the problem still exists."
  
 
In many cases of '''errors''' it is helpful to provide the developers with the always generated [[Tracefile]].  See [[logging]] to learn about capturing and providing error messages and filtering detail.
 
In many cases of '''errors''' it is helpful to provide the developers with the always generated [[Tracefile]].  See [[logging]] to learn about capturing and providing error messages and filtering detail.
Line 51: Line 77:
 
If a program crash or freeze only happens on a specific file (for example, a data file, an import file, or a (modified) report), it can be useful to attach a ''copy'' of that file to your bug report.
 
If a program crash or freeze only happens on a specific file (for example, a data file, an import file, or a (modified) report), it can be useful to attach a ''copy'' of that file to your bug report.
  
If the crash is caused by a data file, you should attach the XML file in ''uncompressed'' format (see <tt>Edit->Preferences->General->Files->Compress Files</tt>). Bear in mind that this data is available on the internet, and take steps to protect your financial data, e.g., by using the [[ObfuscateScript]]. If the file is really big, try to create a minimal example.
+
If the crash is caused by a data file, you should attach the XML file in ''uncompressed'' format (see <tt>Edit->Preferences->General->Files->Compress Files</tt>) or use [{{URL:wp}}gzip gunzip], [{{URL:wp}}7-Zip 7-zip] or [{{URL:wp}}Comparison_of_file_archiver similar programs].
  
When uploading, adjust the mime type of your file. ''Uncompressed'' gnucash data files are of type ''text/xml''. Most import files and log files are of type ''text/plain''.
+
Bear in mind that this data is available on the internet, and take steps to protect your financial data, e.g., by using the [[ObfuscateScript]]. If the file is really big, try to create a minimal example.
 +
For example, when creating a [[Tracefile]] using the <tt>--debug</tt> or <tt>--extra</tt> flags, details such as your GnuCash account names will be visible in the Tracefile; some users store sensitive info such as a bank account number in the account name.
 +
 
 +
If you accidentally upload attachments with un-obfuscated financial data, take the following steps:
 +
# Mark the attachment as '''Obsolete'''; this will reduce its visibility while waiting for deletion (next step). A guide on marking attachments in Bugzilla obsolete can be [https://devzing.com/blog/index.php/bugzilla-tip-deleting-attachment/ found here].
 +
# '''Request a Bugzilla Administrator''' to delete your attachment; only Administrators have the privileges needed to delete attachments.
 +
 
 +
When uploading, adjust the '''MIME type''' of your file. Whenever possible replace <tt>application/octet-stream</tt> by a more appropriate type:
 +
:''Uncompressed'' gnucash data files are of type ''text/xml''.  
 +
:Most import files like ''csv'' and ''log'' files are are only displayed properly, if marked as type ''text/plain''.
 +
;Note: There are many other valid MIME types (http://www.iana.org/assignments/media-types/media-types.xhtml), but you need to test if they are displayed properly.
 +
 
 +
===Severity===
 +
The severity field takes one of three values: Crash, Normal, and Enhancement.
 +
* Use '''Crash''' if and only if GnuCash quits unexpectedly. In that case always attach a [[Tracefile]] and if you can make one a [[Stack_Trace|stack trace]].
 +
* Use '''Enhancement''' if you're requesting a change to GnuCash's documented or well-known behavior.
 +
* Otherwise use '''Normal'''.
 +
 
 +
== Notifications ==
 +
''Notifications'' can be set to alert you about particular bugs, as well as entire categories of bug.  
  
== Configure Notifications ==
 
 
If you want to receive email notifications about '''a particular bug''', you can add the email address that is ''your Bugzilla id'' to the '''CC''' list on the bug. Bugzilla will do this for you by default if you take any action on the bug page.
 
If you want to receive email notifications about '''a particular bug''', you can add the email address that is ''your Bugzilla id'' to the '''CC''' list on the bug. Bugzilla will do this for you by default if you take any action on the bug page.
  
If you want to be notified about '''all changes to particular categories''' of bugs, including new ones, add one or more of the ''following email addresses'' to your '''User Watch''' list in your Bugzilla Email Preferences: After login click the '''Preferences''' item in the Bugzilla menu bar and select the [{{BugURL}}/userprefs.cgi?tab=email Email Preferences tab]. The watch list is underneath the table with all of the check boxes. The email addresses and the groups they monitor are:
+
Notifications about entire categories of bugs are known as ''Watch lists''. If you want to add a watch list to your account, add one or more of the following email addresses to your '''User Watch''' list in your Bugzilla Email Preferences:  
 +
 
 +
* After login click '''Preferences''' in the Bugzilla menu bar.
 +
* Select the Email Preferences tab.  
 +
* Scroll to the ''User Watching'' section, and enter one or more special addresses.  
 +
 
 +
The email addresses and the groups they monitor are:
 
{| Border="0"
 
{| Border="0"
! width="25%" | Group !! width="75%" | Elements  
+
! width="25%" | Address !! width="75%" | Elements Followed
 
|-
 
|-
 
| core@gnucash.bugs || Backend-SQL, Backend-XML, Budgets, Build System, Business, Currency and Commodity, Engine, Python Bindings, Scheduled Transactions  
 
| core@gnucash.bugs || Backend-SQL, Backend-XML, Budgets, Build System, Business, Currency and Commodity, Engine, Python Bindings, Scheduled Transactions  
Line 70: Line 120:
 
| import@gnome.bugs || Import-AqBanking, Import-CSV, Import-OFX, Import-Other, Import-QIF, Import-QSF, TXF Export  
 
| import@gnome.bugs || Import-AqBanking, Import-CSV, Import-OFX, Import-Other, Import-QIF, Import-QSF, TXF Export  
 
|-
 
|-
| macos@gnucash.bugs || MacOS
+
| macos@gnucash.bugs || macOS
 
|-
 
|-
 
| reports@gnucash.bugs || Check Printing, Reports  
 
| reports@gnucash.bugs || Check Printing, Reports  

Latest revision as of 20:12, 19 May 2024

This page describes the normal usage of Bugzilla. For Quality Assurance (QA) tasks see Bugzilla Administration.


Introduction

If you discover a problem with the program or its documentation (known as a bug), you should record the bug so that it can be fixed by the developers. The GnuCash project uses the Bugzilla repository, which includes bugs and enhancement requests for GnuCash. Tips for submitting enhancement requests can be found at Enhancement requests.

Tip
Bugzilla has a help button, currently linking into the Bugzilla 5.0.4+ documentation.

Bug Tracker Overview

Third Party Components

GnuCash uses several tools and is sometimes also confused with similar sounding programs, which are maintained by other teams. They have their own bug trackers:

GnuCash for Android
Beneath GitHub issues see also support group and feature requests.
AqBanking
has its own bugtracker. The details are on top of AqBanking.
Finance::Quote
can be tested by using the gnc-fq-* command line tools, see Online_Quotes#Trouble_Shooting.
Report bugs at GitHub issues (preferred by the maintainers) or their Request Tracker at the Comprehensive Perl Archive Network (CPAN).

Translation Issues

For missing or wrong translations, pleaase contact the translator or translation team directly.

Program
  • In the program open Help->About->Credits and look at the end for a section Translated by or
  • ask on your locale mailing list or
  • open the po file of your language in the repository and look at Language-Team: or Last-Translator:
for a contact address.
Documentation
The translator should have left a contact address on the title page, but it seems, most email addresses were removed for privacy reasons.
Other Components
See Translation.

Some can be fixed directly in https://hosted.weblate.org/projects/gnucash/.

Organization

Bugzilla categorizes bugs by what it terms products and components. We've set up the following categories as top-level products:

  • Bugzilla: Issues with this bug tracking system, not the program.
  • Documentation: GnuCash Documentation: User Guide, Help, Man Pages, Tip of the Day. Edit the Wiki directly instead of filing bugs!
  • GnuCash: Bugs in the program GnuCash
  • Packaging: Bugs specific to the OS-specific packaging
  • Website: Bugs specific to the GnuCash website (www.gnucash.org) and other web services

Most products have one or more component. When searching for bugs one can use product and component along with an enormous collection of other criteria to narrow the search. When filing a bug click the link above for the component you want to start in, then select the appropriate component for your problem.

GnuCash and the former Gnome Bugzilla

Until 2018, GnuCash used the Gnome Bugzilla to track bugs. When Gnome moved to GitLab their Bugzilla was set to read only mode and GnuCash implemented its own Bugzilla instance. All existing GnuCash bugs on Gnome were migrated to GnuCash's copy, and all GnuCash bugs on Gnome's Bugzilla refer visitors to GnuCash's Bugzilla. New bugs must be reported at GnuCash's Bugzilla.  

For all existing user accounts that touched any GnuCash bug, email address and full name were migrated. Passwords and email watch lists were not.

Migrated users
on first access to GnuCash Bugzilla, must reset their passwords by using the Forgot Password link at the top of the page.
Watch lists
must be re-created on the Email Preferences tab in Preferences. See Notifications for more information.

Triage

Before filing a new bug, you should check to see whether the problem or suggestion has already been made. It may be still open or already closed after the date of your release.

Here are several links to different Bugzilla sections:

Commenting on existing bugs or entering new ones

If a bug has already been entered for the problem or enhancement you have identified, you can add comments to that bug.

If there is no bug, then you can Open a new GnuCash bug.

Users new to the bug process would benefit by reading: How to Report Bugs Effectively.

If you are unsure how to use Bugzilla, read [https://bugzilla.readthedocs.io/en/5.0/using/index.html or use the "Help" or "?" links in Bugzilla.

Note: GnuCash has different versions that run under different operating systems. When you report a bug, you should include both the GnuCash version and the operating system you use in the bug report. You should also include any other information about your configuration that might be pertinent in your request. Examples of this include: your problem might depend on your Locale Settings (like currency, number and date format), which means you would add your language and region.

On updates
Do not change the version, except it was a typo. Instead add a comment "In version 5.9 the problem still exists."

In many cases of errors it is helpful to provide the developers with the always generated Tracefile. See logging to learn about capturing and providing error messages and filtering detail.

When reporting an actual crash of GnuCash see whether you can generate a stack trace. See Stack Trace for information on how to produce a stack trace for your bug report.

Tips
* If you refer to other bugs in your text, we suggest to use the form bug nnnnnn - Title. Bugzilla will then add a link and the reader saves time if the title can be read without following the link.
  • Do not copy and paste log files or other longer output in your comments. Instead append them as attachments.

Attachments

If a program crash or freeze only happens on a specific file (for example, a data file, an import file, or a (modified) report), it can be useful to attach a copy of that file to your bug report.

If the crash is caused by a data file, you should attach the XML file in uncompressed format (see Edit->Preferences->General->Files->Compress Files) or use gunzip, 7-zip or similar programs.

Bear in mind that this data is available on the internet, and take steps to protect your financial data, e.g., by using the ObfuscateScript. If the file is really big, try to create a minimal example. For example, when creating a Tracefile using the --debug or --extra flags, details such as your GnuCash account names will be visible in the Tracefile; some users store sensitive info such as a bank account number in the account name.

If you accidentally upload attachments with un-obfuscated financial data, take the following steps:

  1. Mark the attachment as Obsolete; this will reduce its visibility while waiting for deletion (next step). A guide on marking attachments in Bugzilla obsolete can be found here.
  2. Request a Bugzilla Administrator to delete your attachment; only Administrators have the privileges needed to delete attachments.

When uploading, adjust the MIME type of your file. Whenever possible replace application/octet-stream by a more appropriate type:

Uncompressed gnucash data files are of type text/xml.
Most import files like csv and log files are are only displayed properly, if marked as type text/plain.
Note
There are many other valid MIME types (http://www.iana.org/assignments/media-types/media-types.xhtml), but you need to test if they are displayed properly.

Severity

The severity field takes one of three values: Crash, Normal, and Enhancement.

  • Use Crash if and only if GnuCash quits unexpectedly. In that case always attach a Tracefile and if you can make one a stack trace.
  • Use Enhancement if you're requesting a change to GnuCash's documented or well-known behavior.
  • Otherwise use Normal.

Notifications

Notifications can be set to alert you about particular bugs, as well as entire categories of bug.

If you want to receive email notifications about a particular bug, you can add the email address that is your Bugzilla id to the CC list on the bug. Bugzilla will do this for you by default if you take any action on the bug page.

Notifications about entire categories of bugs are known as Watch lists. If you want to add a watch list to your account, add one or more of the following email addresses to your User Watch list in your Bugzilla Email Preferences:

  • After login click Preferences in the Bugzilla menu bar.
  • Select the Email Preferences tab.
  • Scroll to the User Watching section, and enter one or more special addresses.

The email addresses and the groups they monitor are:

Address Elements Followed
core@gnucash.bugs Backend-SQL, Backend-XML, Budgets, Build System, Business, Currency and Commodity, Engine, Python Bindings, Scheduled Transactions
documentation@gnucash.bugs Documentation, Translations, Website
general@gnucash.bugs General
import@gnome.bugs Import-AqBanking, Import-CSV, Import-OFX, Import-Other, Import-QIF, Import-QSF, TXF Export
macos@gnucash.bugs macOS
reports@gnucash.bugs Check Printing, Reports
ui@gnucash.bugs Register, Regist-2, User Interface General
windows@gnucash.bugs Windows
all-bugs@gnucash.bugs Everything

Help Wanted

For those people who might like to help manage bugs on Bugzilla, there is additional information in Bugzilla Administration.