Ok, so you think you've found a bug in and want to tell me about it? That's great! But.. before doing so, please read this!
JUCE is constantly changing - new classes and bugfixes get added almost every day, so if you're using code that's more than a couple of weeks old, there's a fair chance that your bug may have disappeared long ago.
So the golden rule of reporting a JUCE bug is to first try the latest code from GitHub/SourceForge, to see whether it's still relevant. Using the last "officially" released version is not good enough! You need to actually use GIT to get the bleeding-edge build.
And when you post your bug report, there are just a couple of vital facts you should clearly state in your post:
- Exactly which JUCE version you're using. This is non-optional. If you say you're using the tip, I'll take your bug seriously. If you say you're using an old version, I may or may not ignore it. If you don't say which version, I'll definitely ignore it.
- Which platform you're using: windows/mac/linux/etc. Sometimes of course, this isn't relevant. Use your common-sense.
And these are some things that are not worth cluttering up your post with!
- How much memory your computer has (!)
- The exact OSX point release or Windows service pack number.
- The type of graphics card or CPU you have!
- The compiler version (ok, sometimes that might matter, but rarely).
And this may sound like basic common-sense, but before you assume that something is a Juce bug, make absolutely certain that it's not just your own code that's at fault. Here are some incredibly obvious things that people often don't bother doing:
- Try to reproduce the problem in the juce demo, or in a simple test harness.
- Step through the code in the debugger!
- If an assertion gets hit, go and actually look at the assertion statement in the code! Many assertions are there to tell you when you do something silly, and will have a nice helpful comment explaining why. It never ceases to amaze me how often people will post an assertion, and give the file name, line number, etc, but clearly haven't even bothered opening that file or looking at the code!
I'm delighted to help out with problems, and bug reports are invaluable to help maintain JUCE's quality. But chasing non-existent or no-longer-existent bugs is a terrible time-waster, and I think everyone would prefer me to be spending my time writing new classes instead!