If you are using the latest version of the software available in Fedora, then it is likely that the bug has either not been reported, or has been reported but a fix has not yet been released.
So, it is useful to search the list of already reported bugs before filing a new report.
TIP: *Finding the name of the package*: If you do not know the formal package name of the software, you can use the https://packages.fedoraproject.org/[Fedora Packages Web Application] to search for it and view the list of bugs there.
.Searching the Fedora Packages Web Application for Gnome Software.
image::20180825-how-to-file-a-bug-gs.png[]
NOTE: *Advanced searching*: You can also use the https://bugzilla.redhat.com/query.cgi[advanced search features of the bug tracker] to narrow down your search.
However, this is not necessary.
If a bug report has already been filed describing the issue, you should provide any extra information you may have.
If there is nothing more to add to the report, you should "CC" (carbon-copy) yourself to the report to receive any updates.
This can be done by clicking on the "Save changes" button when the "Add me to CC list" option is checked as shown below:
.The CC list contains all users that should be notified when any updates are made to the report.
The easiest way to file a new report is using the "File a new bug" drop down from the right hand side bar in the https://packages.fedoraproject.org/[Fedora Packages Web application].
* *Severity, Hardware, OS*: These fields are optional and need not be set.
*Description of problem:*
Explain the issue in more detail here.
*Version-Release number of selected component (if applicable):*
The version of the package should be specified here.
Once the package name is known, the version can be obtained by using the `rpm` command:
$ rpm -q <packagename>
For example:
$ rpm -q gnome-software
gnome-software-3.28.2-1.fc28.x86_64
*How reproducible:*
How often is the issue observed?
Usually, a good answer to this field is one of:
* Always: the issue is observed each time.
* Sometimes: the issue occurs, but not each time.
* Only once: the issue was only observed once.
Issues that occur always are easiest for developers to diagnose, since they may also be able to replicate it on their machines to collect more information.
If an issue only happens sometimes, developers must spend more time and effort to understand what causes the problem.
If an issue was only observed once, it is even harder to debug.
TIP: *Detailed bug reports make bugs easier to fix*: If possible, you should try to investigate what steps cause the issue to happen and provide these steps in the next section:
TIP: *Submit a report even if unsure*: If you aren't sure of what to fill in, you should still submit the bug report.
Maintainers can follow up with questions to gather more information.
*Steps to Reproduce:*
These enable other users to verify the bug, and they also inform the developers of what specific steps cause the issue.
It makes it much easier for them to look at the source code and pick out the bits that may be faulty.
*Actual results:*
What is observed when the issue occurs?
*Expected results:*
What does the user expect that should happen if the software behaved correctly?
*Additional info:*
Any additional information that may be useful to the maintainer should be added here.
=== Step 2: Follow up on filed reports
After a bug has been filed, you should keep an eye out for any updates.
An e-mail notification of any new comments to the report will be sent to everyone involved in the bug report---the reporter, other users, and the maintainer.
Often, maintainers will comment with queries to gather more information on the issue. Sometimes other users that experience the same issue may also add more information.
TIP: *Ask for instructions*: If the maintainers ask for more information but it is unclear how it should be gathered, it is perfectly OK to ask the maintainers for explicit instructions.
TIP: *E-mail notifications*: The notifications are sent from bugzilla@redhat.com.
You should keep an eye out for e-mails from this address, and add it to your "no-spam" lists.
If you have experienced a program crash, it will almost certainly be necessary to include a stack trace with your bug report. Crashes are often difficult to reproduce and even more difficult to fix, so the more information you can provide, the better.
You will probably need to install -debuginfo RPMs so your stack trace will have useful debugging symbols. See the following pages for more information:
TIP: *Most enhancement requests should be filed upstream.*
If the software is missing a feature you think it should have,
you generally want to file that in the upstream project's bug tracker.
Feature requests in Fedora Linux are generally changing defaults, enabling disabled-by-default features, etc.
* When filing an enhancement request in Bugzilla, add the keyword `Future Feature` to the report. The Keyword should be added right after submitting the bug. You will see the Keyword input box then. Make sure you supply enough information and rationale for your enhancement requests to be considered.
* The Fedora Project has the objective to be a platform built exclusively from free and open-source software. Suggestions to include support for proprietary or other legally encumbered software is not constructive. See the list of https://fedoraproject.org/wiki/Forbidden_items[forbidden items] page for details about this.
* If you want to make a new feature happen on your own create a wiki page for your feature and get it accepted.
See more on the xref:program_management::changes_policy.adoc[Changes Process].
* Requests for new packages to be added to Fedora should not be filed in Bugzilla.
=== Graphical User Interfaces
If you are having trouble with a graphical user interface (GUI),
it often helps to include a screenshot or a screencast showing the bug in action.
This helps developers find the exact place in the code which is causing the bug,
and helps communicate what is going wrong when it is difficult to reproduce
(for example, machine-specific layout problems).
=== Hardware-Specific Bugs
A strong indication of a hardware-specific bug is that other people with different hardware should be able to reproduce the bug, but can't.
They also usually involve code that specifically interacts with a peripheral, such a webcam, video card, printer, or sound card (so for instance, it is uncommon for bugs affecting the user interface of a word processor or desktop calculator to be hardware-specific).
If you suspect your bug has something to do with the specific hardware you have, it will be necessary to identify the hardware so targeted action can be taken.
PCI and PCI-E devices found by the kernel can be listed with `lspci`.
USB devices found by the kernel can be listed with `lsusb`.
You may also find mention of specific devices or drivers in your system logs (run `journalctl`).
=== Security-Sensitive
We pay special attention to security-sensitive bugs.
Read the https://fedoraproject.org/wiki/Security_Bugs#Reporting_a_Security_Vulnerability[Reporting a Security Vulnerability]] page to understand the special process of opening a security bug.
== Information required for bugs in specific components