Source string Read only

(itstool) path: listitem/para
402/4020
Context English State
<primary>problem reports</primary>
Introduction
One of the most frustrating experiences one can have as a software user is to submit a problem report only to have it summarily closed with a terse and unhelpful explanation like <quote>not a bug</quote> or <quote>bogus PR</quote>. Similarly, one of the most frustrating experiences as a software developer is to be flooded with problem reports that are not really problem reports but requests for support, or that contain little or no information about what the problem is and how to reproduce it.
This document attempts to describe how to write good problem reports. What, one asks, is a good problem report? Well, to go straight to the bottom line, a good problem report is one that can be analyzed and dealt with swiftly, to the mutual satisfaction of both user and developer.
Although the primary focus of this article is on FreeBSD problem reports, most of it should apply quite well to other software projects.
Note that this article is organized thematically, not chronologically. Read the entire document before submitting a problem report, rather than treating it as a step-by-step tutorial.
When to Submit a Problem Report
There are many types of problems, and not all of them should engender a problem report. Of course, nobody is perfect, and there will be times when what seems to be a bug in a program is, in fact, a misunderstanding of the syntax for a command or a typographical error in a configuration file (though that in itself may sometimes be indicative of poor documentation or poor error handling in the application). There are still many cases where submitting a problem report is clearly <emphasis>not</emphasis> the right course of action, and will only serve to frustrate both the submitter and the developers. Conversely, there are cases where it might be appropriate to submit a problem report about something else than a bug—an enhancement or a new feature, for instance.
So how does one determine what is a bug and what is not? As a simple rule of thumb, the problem is <emphasis>not</emphasis> a bug if it can be expressed as a question (usually of the form <quote>How do I do X?</quote> or <quote>Where can I find Y?</quote>). It is not always quite so black and white, but the question rule covers a large majority of cases. When looking for an answer, consider posing the question to the <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions">FreeBSD general questions mailing list</link>.
Consider these factors when submitting PRs about ports or other software that is not part of FreeBSD itself:
Please do not submit problem reports that simply state that a newer version of an application is available. Ports maintainers are automatically notified by <application>portscout</application> when a new version of an application becomes available. Actual patches to update a port to the latest version are welcome.
For unmaintained ports (<varname>MAINTAINER</varname> is <literal>ports@FreeBSD.org</literal>), a PR without an included patch is unlikely to get picked up by a committer. To become the maintainer of an unmaintained port, submit a PR with the request (patch preferred but not required).
In either case, following the process described in <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/porters-handbook/port-upgrading.html">Porter's Handbook</link> will yield the best results. (You might also wish to read <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html">Contributing to the FreeBSD Ports Collection</link>.)
A bug that cannot be reproduced can rarely be fixed. If the bug only occurred once and you cannot reproduce it, and it does not seem to happen to anybody else, chances are none of the developers will be able to reproduce it or figure out what is wrong. That does not mean it did not happen, but it does mean that the chances of your problem report ever leading to a bug fix are very slim. To make matters worse, often these kinds of bugs are actually caused by failing hard drives or overheating processors — you should always try to rule out these causes, whenever possible, before submitting a PR.
Next, to decide to whom you should file your problem report, you need to understand that the software that makes up FreeBSD is composed of several different elements:
Code in the base system that is written and maintained by FreeBSD contributors, such as the kernel, the C library, and the device drivers (categorized as <literal>kern</literal>); the binary utilities (<literal>bin</literal>); the manual pages and documentation (<literal>docs</literal>); and the web pages (<literal>www</literal>). All bugs in these areas should be reported to the FreeBSD developers.
Code in the base system that is written and maintained by others, and imported into FreeBSD and adapted. Examples include <citerefentry><refentrytitle>clang</refentrytitle><manvolnum>1</manvolnum></citerefentry>, and <citerefentry><refentrytitle>sendmail</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Most bugs in these areas should be reported to the FreeBSD developers; but in some cases they may need to be reported to the original authors instead if the problems are not FreeBSD-specific.
Individual applications that are not in the base system but are instead part of the FreeBSD Ports Collection (category <literal>ports</literal>). Most of these applications are not written by FreeBSD developers; what FreeBSD provides is merely a framework for installing the application. Therefore, only report a problem to the FreeBSD developers when the problem is believed to be FreeBSD-specific; otherwise, report it to the authors of the software.
Then, ascertain whether the problem is timely. There are few things that will annoy a developer more than receiving a problem report about a bug she has already fixed.
If the problem is in the base system, first read the FAQ section on <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/faq/introduction.html#LATEST-VERSION">FreeBSD versions</link>, if you are not already familiar with the topic. It is not possible for FreeBSD to fix problems in anything other than certain recent branches of the base system, so filing a bug report about an older version will probably only result in a developer advising you to upgrade to a supported version to see if the problem still recurs. The Security Officer team maintains the <link xlink:href="@@URL_RELPREFIX@@/security/">list of supported versions</link>.
If the problem is in a port, consider filing a bug with the upstream. The FreeBSD Project can not fix all bugs in all software.
Preparations
A good rule to follow is to always do a background search before submitting a problem report. Maybe the problem has already been reported; maybe it is being discussed on the mailing lists, or recently was; it may even already be fixed in a newer version than what you are running. You should therefore check all the obvious places before submitting your problem report. For FreeBSD, this means:
The FreeBSD <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/faq/index.html">Frequently Asked Questions</link> (FAQ) list. The FAQ attempts to provide answers for a wide range of questions, such as those concerning <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/faq/hardware.html">hardware compatibility</link>, <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/faq/applications.html">user applications</link>, and <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/faq/kernelconfig.html">kernel configuration</link>.
The <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">mailing lists</link>—if you are not subscribed, use <link xlink:href="https://www.FreeBSD.org/search/search.html#mailinglists">the searchable archives</link> on the FreeBSD web site. If the problem has not been discussed on the lists, you might try posting a message about it and waiting a few days to see if someone can spot something that has been overlooked.
Optionally, the entire web—use your favorite search engine to locate any references to the problem. You may even get hits from archived mailing lists or newsgroups you did not know of or had not thought to search through.
Next, the searchable <link xlink:href="https://bugs.freebsd.org/bugzilla/query.cgi">FreeBSD PR database</link> (Bugzilla). Unless the problem is recent or obscure, there is a fair chance it has already been reported.
Most importantly, attempt to see if existing documentation in the source base addresses your problem.
For the base FreeBSD code, you should carefully study the contents of <filename>/usr/src/UPDATING</filename> on your system or the latest version at <uri xlink:href="https://svnweb.freebsd.org/base/head/UPDATING?view=log">https://svnweb.freebsd.org/base/head/UPDATING?view=log</uri>. (This is vital information if you are upgrading from one version to another—especially if you are upgrading to the FreeBSD-CURRENT branch).
However, if the problem is in something that was installed as a part of the FreeBSD Ports Collection, you should refer to <filename>/usr/ports/UPDATING</filename> (for individual ports) or <filename>/usr/ports/CHANGES</filename> (for changes that affect the entire Ports Collection). <uri xlink:href="https://svnweb.freebsd.org/ports/head/UPDATING?view=log">https://svnweb.freebsd.org/ports/head/UPDATING?view=log</uri> and <uri xlink:href="https://svnweb.freebsd.org/ports/head/CHANGES?view=log">https://svnweb.freebsd.org/ports/head/CHANGES?view=log</uri> are also available via svnweb.
Writing the Problem Report

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: listitem/para
Flags
read-only
Source string location
article.translate.xml:163
String age
a year ago
Source string age
a year ago
Translation file
articles/problem-reports.pot, string 27