On Fri, Oct 1, 2010 at 12:32 PM, Ed <post2edb...@gmail.com> wrote:

> Thanks for the detailed explanation, that sure helps.
>
> > I have seen the timeout message happen due to a compile error in the GWT
> > code, but you'd see those errors in the log also.
> Could it have something to do with issue 4700 ?:
> http://code.google.com/p/google-web-toolkit/issues/detail?id=4700
>

Nominally unrelated... 4700 is about benign-but-scary error messages
resulting from sloppy gwt.xml specifications (and/or sloppy code
arrangement) interacting with GWT's need to sniff around for "all available"
classes rather than loading things only as referenced from your entry point.

*However*, those benign-but-scary ones look just like less benign messages
for actually referenced code, and *that* would be a fatal compilation error
that, if I remember right, may indeed result in this timeout.  Precisely,
again if I remember, the client connects to the web server, gets a synthetic
module that starts by making a GWT RPC to get the first test(s) to be run,
and that RPC is what GWT didn't get in the one-minute timeout.  If your code
didn't compile, that RPC can't happen, and we time out.  Failure to find
source for classes we touch is one way to fail to compile (but
identical-seeming errors for classes we don't touch are 4700).


> + I run the tests in noserver mode against an external tomcat server
> that runs the backend that is started by the cargo maven plugin. I use
> a proxy servlet in the internal tomcat server that is started by GWT
> like explained in issue 4615:
> http://code.google.com/p/google-web-toolkit/issues/detail?id=4615
>

Ah.  I haven't attempted that pattern.  More thoughts below, though.


> What is the relation between HTMLUnit and the internal tomcat that GWT
> uses ?..
>

None whatsoever: tomcat is a web server and servlet container; htmlunit is a
web browser and JavaScript engine that happens to be (a) implemented in Java
and (b) bundled into GWT.

It sounds as though the RPC request for the junitshell servlet (i.e.
JUnitHostImpl, implementing JUnitHost/JUnitHostAsync as an RPC interface) is
not getting to "our" servlet; I can't tell you why.  It might be
misconfiguration in your proxy, and being sent to your tomcat server, which
either wouldn't handle it or would handle it but not be the test
infrastructure waiting for the call, and so the timeout would happen.
 Something like Charles or wireshark, or just close-reading your logs and
configurations, might help you work out what was happening there.  I suppose
it might be that HtmlUnit is tripping itself up on startup, too, and
sometimes not even making that RPC... same tools to diagnose.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to