Hi All,
The company I work for has a large enterprise application built on
GWT. We've most recently been using v1.7.1 and we had a pretty stable
development platform. Some of our customers are complaining about
slowness in our application. Specifically it takes about 40-60 seconds
to load the application on a LAN into the browser and get the
application into a usable state.
sidenote: we were able to do complete (war file) builds on our dev
boxes which are dual core machines with 4gb of ram.
We've decided to introduce the GWT 2 runAsync() API to delay-load all
of the application logic that is needed after the user has logged in.
Making the change in eclipse wasn't a problem at all. We changed the
setting and the application now debugs fine.
Then I tried to swap the build system (we use maven2 with the codehaus
maven plugin v1.2) to make use of GWT2. We keep on getting out of
memory errors on the gwtc step. I have one of the beafier machines in
the office (8gb ram, quad core). I've increased the jvmarg to -
Xmx12000m but I keep on getting this error asking me to increase the
Xmx value. When I look at the log I can see that gwtc is being called
with the jvmargs correctly specified.
My questions are:
- With the architectural changes to GWT2, is this something that the
GWT2 compiler devs would expect to see? IE, us being able to build on
GWT 1.7.1 (within the 15 minutes complete build time range) to not
being able to build on GWT2?
- If so; how can we rearchitect our application so that it will have
less requirements from the gwtc?
For reference, here is the actual compiler output. I've change a few
things to protect the innocent; please excuse the companyName and
appName references:
K:\iCompanyName\appName>mvn clean install
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[INFO] Building appName
[INFO] task-segment: [clean, install]
[INFO]
------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory K:\iCompanyName\appName\target
[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
[INFO] Executed tasks
[INFO] [build-helper:add-source {execution: add-source}]
[INFO] Source directory: K:\iCompanyName\appName\..\codegen\Code\java
\method\appName added.
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] Copying 119 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 654 source files to K:\iCompanyName\appName\target
\classes
[INFO] [gwt:compile {execution: default}]
[INFO] using GWT jars from project dependencies : 2.0.0
[INFO] establishing classpath list (scope = compile)
[INFO] Compiling module com.companyName.appName.appName
[INFO] [ERROR] Unexpected
[INFO] java.lang.OutOfMemoryError: Java heap space
[INFO] at java.util.Arrays.copyOf(Arrays.java:2882)
[INFO] at java.lang.AbstractStringBuilder.expandCapacity
(AbstractStringBuilder.java:100)
[INFO] at java.lang.AbstractStringBuilder.append
(AbstractStringBuilder.java:390)
[INFO] at java.lang.StringBuffer.append(StringBuffer.java:224)
[INFO] at org.eclipse.jdt.internal.compiler.ast.ASTNode.printIndent
(ASTNode.java:482)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:221)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] at
org.eclipse.jdt.internal.compiler.ast.IfStatement.printStatement
(IfStatement.java:223)
[INFO] [ERROR] Out of memory; to increase the amount of memory, use
the -Xmx flag at startup (java -Xmx128M ...)
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Command [[
C:\Program Files\Java\jdk1.6.0_18\jre\bin\java -Xmx12000m -classpath
"K:\iCompanyName\appName\src";"K:\iCompanyName\appName\..\codegen\Code
\java\method\appName";"K:\iCompanyName\a
ssessor\target\classes";"K:\iCompanyName\lib\com\companyName\dto\dto-
gen\3.5.0.0\dto-gen-3.5.0.0.jar";"K:\iCompanyName\lib\com\extjs\gxt
\2.1.0_gwt2\gxt-2.1.0_gwt2.jar";"K:\i
Cura\lib\commons-logging\commons-logging\1.1.1\commons-
logging-1.1.1.jar";"K:\iCompanyName\lib\com\companyName\dto\dto-gen
\3.5.0.0\dto-gen-3.5.0.0-sources.jar";"K:\iC
ura\lib\com\companyName\common\common\3.5.0.0\common-3.5.0.0.jar";"K:
\iCompanyName\lib\net\sf\ehcache\ehcache-core\1.7.0\ehcache-
core-1.7.0.jar";"K:\iCompanyName\lib\org\apa
che\derby\derby\10.4.2.0\derby-10.4.2.0.jar";"K:\iCompanyName\lib\org
\apache\derby\derbyclient\10.4.2.0\derbyclient-10.4.2.0.jar";"K:
\iCompanyName\lib\org\apache\derby\derbyn
et\10.4.2.0\derbynet-10.4.2.0.jar";"K:\iCompanyName\lib\org\apache
\derby\derbytools\10.4.2.0\derbytools-10.4.2.0.jar";"K:\iCompanyName
\lib\com\companyName\common\common\3.5.
0.0\common-3.5.0.0-sources.jar";"K:\iCompanyName\lib\com\google\gwt
\gwt-user\2.0.0\gwt-user-2.0.0.jar";"K:\iCompanyName\lib\com\google\gwt
\gwt-soyc-vis\2.0.0\gwt-soyc-vis-2.0
.0.jar";"K:\iCompanyName\lib\com\google\gwt\gwt-dev\2.0.0\gwt-
dev-2.0.0.jar" com.google.gwt.dev.Compiler -gen "K:\iCompanyName
\appName\target\.generated" -logLevel INFO -sty
le OBFUSCATED -war "K:\iCompanyName\appName\target\appName" -
localWorkers 1 -XdisableClassMetadata -XdisableCastChecking
com.companyName.appName.appName
]] failed with status 1
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 3 minutes 16 seconds
[INFO] Finished at: Mon Jan 25 11:01:30 CAT 2010
[INFO] Final Memory: 57M/678M
[INFO]
------------------------------------------------------------------------
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.