java ^
-Xms10g ^
-Xmx36g ^
-Xss1024m ^
-Dgwt.jjs.maxThreads=1 ^
-XX:+UseG1GC ^
-cp "...\src;...\classes;...\gwt-user.jar;...\gwt-dev.jar;...\gwt-lib\*" ^
com.google.gwt.dev.Compiler ^
-localWorkers 1 ^
-style OBF ^
-optimize 0 ^
-draftCompile ^
-XdisableCastChecking ^
-XdisableClassMetadata ^
-setProperty locale=en ^
-war "...\GWT_TEST_OUTPUT" ^
-extra "...\GWT_EXTRA" ^
-deploy "...\GWT_DEPLOY" ^
-logLevel ERROR ^
"module" > "...\gwt-compile.log" 2>&1

here is the command i use. (using cmd on windows) 

i can see in the project almost 1.5k *.cache.js files.

also, there 34 *.gwt.xml files.

the project is using mxgraph/mxClient library
On Monday, 9 February 2026 at 20:50:57 UTC+2 Colin Alworth wrote:

> Without seeing the project, it'd be hard to guess, so a few quick notes:
>  * ControlFlowAnalyzer is run as part of generating SOYC output, which is 
> going to cost something and be entirely unnecessary for a dev build - 
> arguably even inaccurate to the point of being counterproductive to even 
> look at it (as it would be showing you why your app is so big... when you 
> deliberately are building with draftCompile). Turn off 
> SOYC/compileReport/etc, it doesn't make sense for this build.
>  * GWT 2.8.0 is pretty old - you might not be able to update all the way 
> to latest, but maybe a short step or two to see if it resolves something? 
> (2.8.2, 2.9.0, etc)
>  * What other details can you share - what args besides -draftCompile are 
> you passing, and roughly how big is your application (in terms of Java LoC 
> or JS output)? Also, can you confirm how you're running the compile, and 
> how you are passing -Xmx36g (in case you're accidentally passing it to the 
> build tool and not to GWT itself)?
>
>
>
> On Monday, February 9, 2026 at 12:32:57 PM UTC-6 AFK wrote:
>
>> Hey guys, Whenever i compile my GWT project, i get an OOM error:
>>
>> Compiling module x Compiling 1 permutation [ERROR] OutOfMemoryError: 
>> Increase heap size or lower gwt.jjs.maxThreads java.lang.OutOfMemoryError: 
>> Java heap space at 
>> com.google.gwt.thirdparty.guava.common.collect.Iterables.concat(Iterables.java:495)
>>  
>> at 
>> com.google.gwt.thirdparty.guava.common.collect.Iterables.concat(Iterables.java:434)
>>  
>> at 
>> com.google.gwt.dev.jjs.ast.JMethod.getOverriddenMethodsIncludingSelf(JMethod.java:579)
>>  
>> at 
>> com.google.gwt.dev.jjs.ast.JMethod.canBeReferencedExternally(JMethod.java:85)
>>  
>> at 
>> com.google.gwt.dev.jjs.impl.ControlFlowAnalyzer$RescueVisitor.rescue(ControlFlowAnalyzer.java:626)
>>  
>> at 
>> com.google.gwt.dev.jjs.impl.ControlFlowAnalyzer$RescueVisitor.visit(ControlFlowAnalyzer.java:371)
>>  
>> at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:265) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118) at 
>> com.google.gwt.dev.jjs.ast.JExpressionStatement.traverse(JExpressionStatement.java:42)
>>  
>> at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:146) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.acceptWithInsertRemove(JVisitor.java:168)
>>  
>> at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135) at 
>> com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:83) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) at 
>> com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:786) at 
>> com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:778) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) at 
>> com.google.gwt.dev.jjs.impl.ControlFlowAnalyzer$RescueVisitor.rescue(ControlFlowAnalyzer.java:618)
>>  
>> at 
>> com.google.gwt.dev.jjs.impl.ControlFlowAnalyzer$RescueVisitor.visit(ControlFlowAnalyzer.java:371)
>>  
>> at 
>> com.google.gwt.dev.jjs.impl.ControlFlowAnalyzer$RescueVisitor.visit(ControlFlowAnalyzer.java:478)
>>  
>> at 
>> com.google.gwt.dev.jjs.ast.js.JsniMethodRef.traverse(JsniMethodRef.java:69) 
>> at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:146) at 
>> com.google.gwt.dev.jjs.ast.JVisitor.acceptImmutable(JVisitor.java:154) at 
>> com.google.gwt.dev.jjs.ast.js.JsniMethodBody.traverse(JsniMethodBody.java:136)
>>  
>> at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [ERROR] 
>> Out of memory; to increase the amount of memory, use the -Xmx flag at 
>> startup (java -Xmx128M ...) [ERROR] Unrecoverable exception, shutting down 
>> com.google.gwt.core.ext.UnableToCompleteException: (see previous log 
>> entries) at 
>> com.google.gwt.dev.ThreadedPermutationWorkerFactory$ThreadedPermutationWorker.compile(ThreadedPermutationWorkerFactory.java:56)
>>  
>> at 
>> com.google.gwt.dev.PermutationWorkerFactory$Manager$WorkerThread.run(PermutationWorkerFactory.java:74)
>>  
>> at java.lang.Thread.run(Thread.java:750) [ERROR] Not all permutation were 
>> compiled , completed (0/1)
>>
>>
>> my project is kinda old, using jars, and compiling in cmd.
>>
>>
>> I'm giving the compiler 36GB ram, compiling for only firefox, using 
>> draftCompile and much more, but nothing is working.
>>
>>
>> I'm also fairly new to GWT, and i'm really wondering how did the dev 
>> working on this specific project before me could compile it.
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/google-web-toolkit/2824bb72-3790-41d0-9dc5-409a9e089738n%40googlegroups.com.

Reply via email to