How to Report a Bug
What follows are some additional tips on ways to make your bug report better so that someone will be able to help you.
The basics: what you did, what you wanted to happen, and what actually happened.
Those are the three basic elements of a bug report. You need to tell us
exactly what you did (for example, "My program runs the query SELECT * FROM happy_meals WHERE sandwich = 'hamburger' AND side = 'onion rings'
), what you expected to have happen
(to continue the example, "I expected MySQL to return a happy meal with a
hamburger and onion rings"), and what actually happened ("It gave me a happy
meal with french fries.").
Yes, the example is silly. But if your bug report simply said "Querying the happy_meals table doesn't work," we wouldn't be able to say "That's because you can't have onion rings in a happy meal, you can only have french fries or curly fries." By telling us what you asked for, what you expected to get, and what you actually got, we don't have to guess.
Always search the bug database first.
Advice so good, we'll repeat it twice. Always search the bug database first. There are a lot of users of the MySQL products. The odds are good that if you've found a problem, someone else has found it, too. If you spend a few minutes of your time making sure that you're not filing a duplicate bug, that's a few more minutes someone can spend helping to fix that bug rather than sorting out duplicate bug reports.
If you don't understand an error message, ask for help.
Don't report an error message you don't understand as a bug. There are a lot of places you can ask for help in understanding what is going on before you can claim that an error message you do not understand is a bug.
(Now, once you've understood the error message, and have a good suggestion for a way to make the error message more clear, you might consider reporting it as a feature request.)
Be brief, but don't leave any important details out.
This is a fine line to walk. But there are some general guidelines:
- Remember the three basics: what you did, what you expected to happen, and what happened.
- When you provide code that demonstrates the problem, it should almost never be more than ten lines long. Anything longer probably contains a lot of code that has nothing to do with the problem, which just makes it take longer to figure out the real problem. (But don't forget to make sure that your code still demonstrates the bug you're reporting and doesn't have some other problem because you've accidently trimmed out something you thought wasn't important but was!)
- If the product is crashing, include a backtrace. Instructions for doing this can be found here.
Use English.
Yes, the MySQL user and developer communities are global and include a great many people who can speak a great many languages. But if you were to report a bug in a language other than English, many (if not most) of the people who would otherwise help you won't be able to. If you're worried about your English skills making it difficult to describe the bug, you might try asking for help on one of the non-English mailing lists (some are listed on the side).
Don't report bugs about old versions.
Every time a new version of a MySQL product is released, many bugs are fixed. If you're using a version of a product that is more than two revisions older than the latest version, you should upgrade to the latest version to make sure the bug you are experiencing still exists. (And it's not a bad idea to try upgrading even if your version is only a version behind the most current one.)
Only report one problem in each bug report.
If you have encountered two bugs that don't appear to be related, create a new bug report for each one. This makes it easier for different people to help with the different bugs.
Security Bugs
If you find a security bug in MySQL, please let us know immediately by
sending an email message to secalert_us@oracle.com.
Exception: Support customers should report all problems, including
security bugs, to Oracle Support at http://support.oracle.com