I’m seeing my vaadin application when used in embedded mode via Vaadin-xs occasionally lock up due to an unresponsive script. This happens most frequently in Chrome 10 on OSX, but I’m able to reproduce in FF3 and Safari 5, albeit less frequently.
This is the error message that is printed by Firefox:
I put in some debug statements into XSApplicationServlet and JsonpCommunicationManager and I noticed this oddity. Normally, a UIDL request looks like this:
Debugging jsonp style communication sucks, I know. This is even worse due the fact that GWT doesn’t support debugger with xs linker.
Firebug (both debugger and resource panel), pretty compiled client side and server side debugging are the hints I can provide. Some kind of remote debugger via Vaadin forum would be great. Maybe they can build it for the next version
Oh… I forgot. VConsole.log() style client side logging and ?debug=q request parameter might help on the client side.
Yes, the debug console is normally useful, but it does not display in embedded mode, and since the bug only happens in embedded mode, I was stuck resorting to System.err.println statements.
The problem is the referrer URL tracking is incorrect in XSApplicationServlet and an exception is thrown and presumably not caught, so the response is never sent back to the client, and thus the browser waits forever for the request to come back and hangs.
This is a server side error, usually for these you get the big red box of death letting you know there was an error on the server, or the inline ‘!’ icon which shows the stacktrace, neither of these happens, so I assume the exception is handled outside of the normal channels.