That's an odd one -- it looks like the login threads are a bit different in the local binary case than in the web start case, which is tripping up some initialization code. I guess I'm just surprised more people don't run into this. Does it happen consistently?
In any case, I think the workaround is in appbase here:
Change the code to check if it is already on the awt event thread, and only call invokeAndWait() if it isn't:
if (SwingUtilities.isEventDispatchThread()) {
// create object directly
newlyCreatedHeader = new HeaderPanel();
} else {
// existing code
SwingUtilities.invokeAndWait(new Runnable () {
...
}
}
If that fixes the issue, I'll commit the change.