Just trying out lombok for the first time. Added the jar and a first sample annotation (@ToString). All looked good on a simple example program.Then tried adding this class to a library in the main build of a project and got a memory exception from the compiler. It appears lombok is building some sort of parse tree and uses too much memory to do it.Any ideas?DougE:\fp\Main\Source\Java>javac -versionjavac 1.6.0_04[mkdir] Created dir: E:\fp\Main\Source\Java\tmpclasses[javac] Compiling 543 source files to E:\fp\Main\Source\Java\tmpclasses[javac][javac][javac] An annotation processor threw an uncaught exception.[javac] Consult the following stack trace for details.[javac] java.lang.OutOfMemoryError: Java heap space[javac] at lombok.core.AST.buildWithField(AST.java:247)[javac] at lombok.javac.JavacAST.drill(JavacAST.java:262)[javac] at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:157)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:63)[javac] at lombok.core.AST.buildWithField0(AST.java:350)[javac] at lombok.core.AST.buildWithField(AST.java:248)[javac] at lombok.javac.JavacAST.drill(JavacAST.java:262)[javac] at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:157)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:63)[javac] at lombok.core.AST.buildWithField0(AST.java:350)[javac] at lombok.core.AST.buildWithField(AST.java:248)[javac] at lombok.javac.JavacAST.drill(JavacAST.java:262)[javac] at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:157)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:63)[javac] at lombok.core.AST.buildWithField0(AST.java:350)[javac] at lombok.core.AST.buildWithField(AST.java:248)[javac] at lombok.javac.JavacAST.drill(JavacAST.java:262)[javac] at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)[javac] at lombok.javac.JavacAST.buildExpression(JavacAST.java:242)[javac] at lombok.javac.JavacAST.buildLocalVar(JavacAST.java:209)[javac] at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:253)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:157)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:63)[javac] at lombok.core.AST.buildWithCollection(AST.java:381)[javac] at lombok.core.AST.buildWithField0(AST.java:355)[javac] at lombok.core.AST.buildWithField(AST.java:248)[javac] at lombok.javac.JavacAST.drill(JavacAST.java:262)[javac] at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)[javac] at lombok.javac.JavacAST.buildTree(JavacAST.java:157)BUILD FAILEDE:\fp\Main\Source\Java\build.xml:486: Compile failed; see the compiler error output for details.
Did you make a version that does emit the names of classes with unusual deep node trees?We are facing the same problem after moving our build server to a new machine, though in our case it is not a Java Heap Space, but a GC Overhead limit exceeded, but that is almost the same.."if too much time is being spent in garbage collection: if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered, an OutOfMemoryError will be thrown."The old build server were a 32 bit running java 1.6_xx whereas the new is 64bit running java 1.7_xx - i dont know if that helps. The new box has 2 gb heap where the old one only had 1.Lombok versions tried: 0.11.6 and 0.11.8
An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: GC overhead limit exceededat lombok.javac.JavacAST.drill(JavacAST.java:263)at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)at lombok.javac.JavacAST.buildTree(JavacAST.java:157)at lombok.javac.JavacAST.buildTree(JavacAST.java:63)at lombok.core.AST.buildWithCollection(AST.java:381)at lombok.core.AST.buildWithField0(AST.java:355)at lombok.core.AST.buildWithField(AST.java:248)at lombok.javac.JavacAST.drill(JavacAST.java:262)at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)at lombok.javac.JavacAST.buildTree(JavacAST.java:157)at lombok.javac.JavacAST.buildTree(JavacAST.java:63)at lombok.core.AST.buildWithField0(AST.java:350)at lombok.core.AST.buildWithField(AST.java:248)at lombok.javac.JavacAST.drill(JavacAST.java:262)at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:257)at lombok.javac.JavacAST.buildStatement(JavacAST.java:246)at lombok.javac.JavacAST.buildMethod(JavacAST.java:226)at lombok.javac.JavacAST.buildType(JavacAST.java:188)at lombok.javac.JavacAST.buildCompilationUnit(JavacAST.java:169)at lombok.javac.JavacAST.<init>(JavacAST.java:81)at lombok.javac.JavacTransformer.transform(JavacTransformer.java:67)at lombok.javac.apt.Processor.process(Processor.java:256)at lombok.core.AnnotationProcessor$JavacDescriptor.process(AnnotationProcessor.java:117)at lombok.core.AnnotationProcessor.process(AnnotationProcessor.java:169)at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)at com.sun.tools.javac.main.Main.compile(Main.java:439)/Anders