Thursday, February 02, 2006

It's a miracle anything works...

Two bugs we resolved today ...

One user couldn't use our installer - it always failed on the file After reporting this to us, he figured out that parental-access controls in his router were banning the file due to a certain 4 letters in its name. I feel lucky that the user diagnosed the problem because I never would have figured that one out!

Also we've had reports that X-Plane 832 is slower than 816 when used in a two-monitor instructor/visual configuration. Finally we figured out what this was - a bug in my code: I programmed X-Plane to reduce CPU usage when a "dialog box" is up (the instructor station is one such dialog box) to play nice with other programs. But of course in two monitor mode the dialog box is up and you're flying, so reducing CPU usage kills framerate. This will be fixed in 835.

What's funky about this second bug is the reason why Austin and I could not reproduce it: the bug only happens if you do not touch the mouse! Austin and I, while trying to debug, would mouse around and click on all sorts of things, and this would hide the bug. Real customers, in real applications, don't touch the mouse while doing commercial training. (UI programmers who understand how mouse cursor updates are done in Win32 and Mac OS will understand this behavior.)

If there's a moral to this post (and there probably isn't), it's that bugs are hard to catch and reproduce because there can be system differences between users and developers that are very subtle - assumptions so basic that they don't get questioned.

No comments: