OpenBSD
Problem Reports
Released versions problem reports
Before reporting bugs/problems with released versions, go through this
checklist:
- First, check for patches and notes regarding the
release.
- Next, find out if there is a newer release available.
- Finally, check for changes made between OpenBSD
versions.
If nothing looks like it addresses your problem, then please become acquainted
with sendbug(1) before submitting
a bug report.
Current version problem reports
If your problem is with the -current source tree rather than
-release or -stable,
- Test the problem at least twice, with source updated a few days apart.
- Do not report source tree compilation problems, unless they persist.
They are almost always your mistake, or they are being worked on as you
encounter them.
People working on the project are doing
make build at least once per day, and usually
several times per day with different architectures.
- Remember that the AnonCVS servers are
updated a few hours behind the actual working source tree.
- Check for changes made between OpenBSD versions
to see if the problem has been addressed.
- Much care is made in creating snapshots.
Sometimes mistakes are made, and our apologies are extended.
Reading or writing to the mailing lists is more appropriate than sending
in a bug report.
How to create a problem report
Always provide as much information as possible.
Try to pinpoint the exact problem.
Give clear instructions on how to reproduce the problem.
Try to describe it with as much accuracy and non-confusing terminology
as possible, especially if it is not easy to reproduce.
Describing problems by saying "it crashes" or "I get strange interrupt issues
on this one box that I built" is not helpful.
Communicate with others (on the mailing lists or any other forum where
knowledgeable users congregate) to confirm that the problem is new and
preferably repeatable.
Please try to make sure it is not a local problem created by using broken
or unsupported hardware, or by using unsupported build options or software.
Please don't start fixing problems that require significant work until you
are sure you understand them, especially during our release periods when we
must not change major sections of code.
If you are going to write significant amounts of code, mention it on the
mailing lists to make sure no one else is already working on the problem
(saving duplication of effort).
The following items should be contained in every bug report:
- The exact sequence of steps from startup necessary to reproduce
the problem.
This should be self-contained; it is not enough to send in a bare
command without the arguments and other data you supplied to it.
If a bug requires a particular sequence of events, please list those.
You are encouraged to minimize the size of your example, but this is
not absolutely necessary.
If the bug is reproducible, we'll find it either way.
- The output you got.
Please do not just say that it "didn't work" or "failed."
If there is an error message, show it, even if you don't understand it.
If OpenBSD panics with a particular error, say which.
If nothing at all happens, say so.
Even if the result of your test case is a program crash or otherwise
obvious, it might not happen in our testing.
The easiest thing is to copy the output from the terminal, if possible.
Note: In case of fatal errors, the error message provided might not
contain all the information available.
In that case, also look at the output in the system log files, such
as those stored in /var/log
.
Also, if you are dealing with an application that has its own log files,
such as httpd, check for errors where it keeps its logs.
- The OpenBSD kernel output.
You can get this with the dmesg command, but it is possible that your
dmesg output does not contain all the information that is captured in
/var/run/dmesg.boot
.
If this is the case, include information from both.
Please include this in all bug reports.
- If you run third party software which has to do with your bug, say so,
including what version.
If you are talking about a snapshot, mention that, including its date
and time.
- A traceback from your kernel panic.
If your kernel panicked and you are at a
ddb(4)
prompt, please provide the panic message, as well as the output of
the trace and ps commands in your bug report as
advised.
If the machine hangs, try enabling sysctl ddb.console=1
prior to the hang and getting in DDB via Ctl+Alt+Esc on the keyboard
(must be outside of X), or sending BREAK if using a serial console.
If, for some reason, the panic message is not visible, you can get it
again with the show panic command.
This is essential whenever possible.
Panic reports without the panic message, traceback and ps output are
useless.
The output of show registers might be of interest as well.
You might then want to reboot with boot dump so that a kernel
image could be saved by
savecore(8) for further
post-mortem debugging, as described in the
crash(8) man page.
- If you're reporting a problem with the X Window System on an
architecture that uses the X.Org server, please include the full
/var/log/Xorg.0.log
file in your report in addition
to the dmesg.boot
information.
Do not be afraid if your bug report becomes rather lengthy.
That is a fact of life.
It's better to report everything the first time than us having to squeeze
the facts out of you.
On the other hand, if your input files are huge, it is fair to ask first
whether somebody is interested in looking into it.
Sending in bug reports
If possible, use the sendbug(1)
command to help generate your bug report.
It will automatically include some useful information about your hardware
that helps diagnose many issues.
This tool requires that your system can properly send email.
If you cannot use sendbug on a functional OpenBSD machine, please send your
bug report to [email protected].
Perhaps what you are sending in is a feature request, not necessarily a bug.
New features are accepted, especially with code that implements your suggested
new feature.
For debugging some problems, we must have the hardware that has the problem.
Please remember that the OpenBSD project's resources are limited.
You could donate some hardware.