I have several apps out there written in GWT 2.4
Over the last few months, users have started to complain
about seemingly random RPC failures, both reading and writing.
I have never yet experienced these errors from my own computer,
but there are enough users writing in about it that
it seems that there must be something going wrong -- not just
one user with a questionable internet connection.

The manifestation in the onFailure() method of an AsyncCallback
is usually
  com.google.gwt.user.client.rpc.StatusCodeException: 0

I found one cooperative user who has been willing to beat on the
apps for me and send me results.He gets the errors with Firefox 8, IE 8,
and Chrome.When the RPC calls work, I see custom log messages in
the tomcat log. When the calls do not work, I see no evidence of any 
activity
in either the tomcat log or the apache log, so it appears that the RPC
calls are not reaching the server.

This morning I changed one of the apps to include a symbol table,
and to print out a stack trace in a dialog when the failure happens, and 
then
asked my precious user to try it. He sent back this stack trace,
copied from the dialog:

fail to write
CAUGHT com.google.gwt.user.client.rpc.StatusCodeException: 0
0 : Unknown.Em(StackTraceCreator.java:168)
1 : Unknown.Jl(StackTraceCreator.java:421)
2 : Unknown.RF(StatusCodeException.java:35)
3 : Unknown.bH(RequestCallbackAdapter.java:209)
4 : Unknown.bs(Request.java:287)
5 : Unknown.Bs(RequestBuilder.java:395)
6 : Unknown.anonymous(XMLHttpRequest.java:287)
7 : Unknown._l(Impl.java:168)
8 : Unknown.cm(Impl.java:213)
9 : Unknown.anonymous(Impl.java:57)

In broad strokes, I understand that the exception is
thrown because the browser is unable to do an XMLHttpRequest.
But more than that, why? I have looked up the line references
in the 2.4 source modules mentioned in the stack trace above,
but am still at a loss. The last one is this:

 public final native void setOnReadyStateChange(ReadyStateChangeHandler 
handler) /*-{
    // The 'this' context is always supposed to point to the xhr object in 
the
    // onreadystatechange handler, but we reference it via closure to be 
extra sure.
    var _this = this;
    this.onreadystatechange = $entry(function() {
 287:     
handl...@com.google.gwt.xhr.client.ReadyStateChangeHandler::onReadyStateChange(Lcom/google/gwt/xhr/client/XMLHttpRequest;)(_this);
    });
  }-*/;

Any suggestions would be greatly appreciated.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/2TVvDKQzwkkJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to