handling frequently reported bugs which aren't ours

Now that I’m done (for now) fixing list bridge problems, I’m turning my attention to the 3.1.15 release. We have quite a few bug fixes queued up (mainly thanks to George) which I need to go through.

Last night, I dealt with a bunch of new bug reports which were duplicates of common bugs which aren’t our fault. Bug 2694 is one such bug. It’s something which happens when a Windows user upgrades Java without rebooting afterwards, and then tries to run VASSAL. It’s not our fault that the user doesn’t reboot after upgrading—the upgrade wizard does say you should—and there’s nothing we can do, so far as I know right now, to test for this condition before the UnsatisfiedLinkError occurs. However, once it’s happened, this particular problem has a unique stack trace so is trivial to identify. This made me think: We could add handlers for bugs like this to the UncaughtExceptionHandler. Instead of showing the user a bug dialog, we could show a dialog telling them what the problem is (you need to reboot!).

So, I was thinking of what an interface for this should look like:

public interface BugHandler {
public boolean accept(Throwable thrown);

public void handle(Throwable thrown);

}

Then, the UncaughtExceptionHandler has a List of BugHandlers, the last of which accepts everything and throws up the bug dialog.

I think this will help reduce the number of bug reports we get, as well as improve the user experience.

Thoughts?

I think this will help reduce the number of bug reports we get, as well as improve the user experience.

Thoughts?

That sounds like a good idea, but how would you handle changes in the
back-traces?. The structure of the code might change, then the bugs
would remain not revealed (which is not a problem in the essence, but
just an add additional cost of maintaining those back-traces across
releases).

Just mine two cents,
Wojciech