Header

How to Report a Bug

There are some important things to know about reporting bugs. Proper bug reporting is critical to getting the application bug free (or as near to it as is reasonably possible).

Why report bugs?

Surely the person who is developing the application is aware of all the bugs? After all, isn't he responsible for all the code?

In a perfect world this would be the case. However, it's not a perfect world. The application is an extremely complex beast with many parts that interact with one another. The bugs often occur in those interactions. For the developer to be aware of all bugs, he would have to test every possible interaction with every possible input data value, on all platforms, with all operating systems, etc.. This is not feasible. Hence, you will find bugs that have never been seen before. It's important that the developer is made aware of those problems so that they can be fixed.

What is a bug?

A bug can be any of the following (typically in descending order of nastiness):

When to report bugs

As soon as any bug appears, it should be reported, unless you have already done so for the exact same bug and don't have anything different to say about it. That is the case for any of the above bug types. Anything you consider an anomaly is probably a bug and should be reported. Just because you can work around a bug does not mean it is not worth reporting.

Even if you do something completely outrageous, like pasting the entire works of Shakespeare into an object's Notes field, or making 20,000 observations of NGC1234, it should not cause an exception or any other kind of bug, but should fail with a suitable error message or warning. If a bug does occur - report it.

How to report bugs

How you report bugs is important. Here is a list of ways to report bugs, with the best and "most likely to succeed" methods first.

What to include in a bug report

The quality of your bug report is critical to getting the bug fixed. A good report should include the following (where applicable):