Thanks for the details, it gives me a better understanding of what's
going on such that I know where to look.

I notices that issue 4700 (the compiler errors) isn't of concern
during the nightly build as during the build all sources are correctly
included through the GWT maven plugin (not compiler errors in the
log).

testing in noserver mode:
I did improve the logging in the Proxy servlet such that I can see
better what is happening and if a call isn't forwarded to his parent
class: the GWT servlet (GWTShellServlet).

The test seem to run "fine" now, but let's see what happens the coming
days. I now know the buttons/settings to adjust to solve it I think.

I run 3 GWT Test suites through the maven plugin (pom part:
<includes>**/GwtBackEnd*Suite.java</includes>).
The first suite always runs fine. What suprised me was that the second
suite shows the timeout errors in the logging because of a compile
error (I forced a compile error manually) in the thirds suite, whereas
this compile error show up latter in the logging :(... A bit strange
and misleading... When I solve this compile error in the third suite,
the timeout errors in the second suite also disappear and the whole
build is successful....

I was able to reproduce this error by first fixing it such that it run
with success and then running it with the same compile error again.
In the logging I see that the Proxy servlet does forward the calls
correctly to the parent servlet: GWTShellServlet.

Any idea why these timeout occur in this case?

So in the logging this looks like this (starting from suite 2):
----
[INFO] -------------------------------------------------------
[INFO]  T E S T S (SUITE 2)
[INFO] -------------------------------------------------------
[INFO] Running Run all GWT Profile backend tests.
[INFO] Starting HTTP on port 0
[INFO]    [WARN] catalina.base.create is deprecated.  Use
catalina.base, and it will be created if necessary.
 ....
 ...
>>> PROXY SERVLET forward calls to parent class:
[INFO] 13:04:09.676 [http-0-Processor4] DEBUG
com.ited.gwt.dev.server.ProxyServlet - Receiving url request, url: /
com.bv.gwt.profile.intern.ProfileGwtTest.JUnit/junit.html?
gwt.codesvr=82.94.165.225:54470
[INFO] 13:04:09.676 [http-0-Processor4] DEBUG
com.ited.gwt.dev.server.ProxyServlet - No Proxy forward, url: /
com.bv.gwt.profile.intern.ProfileGwtTest.JUnit/junit.html?
gwt.codesvr=82.94.165.225:54470

...
...
[INFO] Tests run: 8, Failures: 0, Errors: 8, Skipped: 0, Time elapsed:
383.244 sec <<< FAILURE!
[INFO]
testSubscribe(com.bv.gwt.profile.GwtBackendSubscribeMemberOkTest)
Time elapsed: 383.213 sec  <<< ERROR!
[INFO] com.google.gwt.junit.client.TimeoutException: The browser did
not contact the server within 60000ms.
[INFO]  - NO RESPONSE: 192.168.1.34 / Mozilla/5.0 (Windows; U; Windows
NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
[INFO]  - 1 client(s) haven't responded back to JUnitShell since the
start of the test.
[INFO]  Actual time elapsed: 60.002 seconds.
[INFO]  at com.google.gwt.junit.JUnitShell.notDone(JUnitShell.java:
896)
....
....
[INFO] -------------------------------------------------------
[INFO]  T E S T S (SUITE 3)
[INFO] -------------------------------------------------------
[INFO] Running Run all GWT Declare backend tests.
[INFO] Starting HTTP on port 0
[INFO]    [WARN] catalina.base.create is deprecated.  Use
catalina.base, and it will be created if necessary.
[INFO] [WARN] A new version of GWT (2.0.3) is available
[INFO] For additional info see: file:/tmp/gwt-update-2.0.3.html
....
....
[INFO] 13:10:38.401 [http-0-Processor4] DEBUG
com.ited.gwt.dev.server.ProxyServlet - Receiving url request, url: /
com.bv.gwt.declare.intern.DeclareGwtTest.JUnit/junithost
[INFO] 13:10:38.401 [http-0-Processor4] DEBUG
com.ited.gwt.dev.server.ProxyServlet - No Proxy forward, url: /
com.bv.gwt.declare.intern.DeclareGwtTest.JUnit/junithost
[INFO] Rebinding com.bv.gwt.declare.GwtBackendUpdateCategoriesOkTest
[INFO]    Adding '1' new generated units
[INFO]       Validating newly compiled units
[INFO]          [ERROR] Errors in 'generated://
F5C72292886AF6E0B1AAD76DB720CCD8/com/bv/gwt/declare/
__GwtBackendUpdateCategoriesOkTest_unitTestImpl.java'
[INFO]             [ERROR] Line 3: The type
__GwtBackendUpdateCategoriesOkTest_unitTestImpl cannot subclass the
final class GwtBackendUpdateCategoriesOkTest
[INFO]             [ERROR] Line 7: The method testUpdateCategories()
is undefined for the type
__GwtBackendUpdateCategoriesOkTest_unitTestImpl
[INFO]    [ERROR] Unable to find recently-generated type
'com.bv.gwt.declare.__GwtBackendUpdateCategoriesOkTest_unitTestImpl
[INFO] [ERROR] Deferred binding failed for
'com.bv.gwt.declare.GwtBackendUpdateCategoriesOkTest'; expect
subsequent failures
[INFO] 13:10:38.741 [http-0-Processor4] DEBUG
com.ited.gwt.dev.server.ProxyServlet - Receiving url request, url: /
com.bv.gwt.declare.intern.DeclareGwtTest.JUnit/junithost
...
...
INFO] Results :
[INFO]
[INFO] Tests in error:
[INFO]
testUpdateCategories(com.bv.gwt.declare.GwtBackendUpdateCategoriesOkTest)
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] There was test failures.
----



On Oct 1, 7:35 pm, Freeland Abbott <fabb...@google.com> wrote:
> 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