Community
Participate
Working Groups
Note: I get the same error with 1.5.3 and the latest DEVELOPMENT build (June21/07) ---- AspectJ Properties --- AspectJ Compiler DEVELOPMENT built on Monday Jun 11, 2007 at 16:05:11 GMT ---- Dump Properties --- Dump file: ajcore.20070621.173320.655.txt Dump reason: java.lang.OutOfMemoryError Dump on exception: true Dump at exit condition: abort ---- Exception Information --- java.lang.OutOfMemoryError: Java heap space at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:239) at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java:70) at org.aspectj.org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents(CompilationUnit.java:57) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTScannerClass.setSource(TheOriginalJDTScannerClass.java:3364) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTScannerClass.setSource(TheOriginalJDTScannerClass.java:3380) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getMethodBodies(TheOriginalJDTParserClass.java:6208) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:508) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:974) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:262) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:178) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:378) at org.aspectj.tools.ajc.Main.runMain(Main.java:253) at org.aspectj.tools.ajc.Main.main(Main.java:88) ---- System Properties --- java.runtime.name=Java(TM) SE Runtime Environment sun.boot.library.path=C:\Java\jdk1.6.0_01\jre\bin java.vm.version=1.6.0_01-b06 java.vm.vendor=Sun Microsystems Inc. java.vendor.url=http://java.sun.com/ path.separator=; java.vm.name=Java HotSpot(TM) Client VM file.encoding.pkg=sun.io sun.java.launcher=SUN_STANDARD user.country=CA sun.os.patch.level=Service Pack 2 java.vm.specification.name=Java Virtual Machine Specification user.dir=C:\projects\mosaic.trunk java.runtime.version=1.6.0_01-b06 java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.endorsed.dirs=C:\Java\jdk1.6.0_01\jre\lib\endorsed os.arch=x86 java.io.tmpdir=C:\DOCUME~1\KENDOU~1\LOCALS~1\Temp\ line.separator= java.vm.specification.vendor=Sun Microsystems Inc. user.variant= os.name=Windows XP sun.jnu.encoding=Cp1252 java.library.path=C:\Java\jdk1.6.0_01\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Support Tools\;C:\Program Files\Subversion\bin;C:\Java\jre1.6.0_01\bin;C:\Java\jdk1.6.0_01\bin;C:\Program Files\aspectj153\bin;C:\oracle\product\10.2.0\db_1\bin;C:\Program Files\apache-ant-1.7.0\bin;C:\Program Files\IDM Computer Solutions\UltraEdit-32;C:\Program Files\apache-ant-1.7.0\bin;C:\Program Files\QuickTime\QTSystem\ java.specification.name=Java Platform API Specification java.class.version=50.0 sun.management.compiler=HotSpot Client Compiler os.version=5.1 user.home=C:\Documents and Settings\kendougan user.timezone=America/Denver java.awt.printerjob=sun.awt.windows.WPrinterJob file.encoding=Cp1252 java.specification.version=1.6 java.class.path=C:\Program Files\aspectj153\lib\aspectjtools.jar;C:\Java\jdk1.6.0_01\lib\tools.jar;.;C:\Program Files\aspectj153\lib\aspectjrt.jar;C:\Java\jre1.6.0_01\lib\ext\QTJava.zip user.name=kendougan java.vm.specification.version=1.0 java.home=C:\Java\jdk1.6.0_01\jre sun.arch.data.model=32 user.language=en java.specification.vendor=Sun Microsystems Inc. awt.toolkit=sun.awt.windows.WToolkit java.vm.info=mixed mode java.version=1.6.0_01 java.ext.dirs=C:\Java\jdk1.6.0_01\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext sun.boot.class.path=C:\Java\jdk1.6.0_01\jre\lib\resources.jar;C:\Java\jdk1.6.0_01\jre\lib\rt.jar;C:\Java\jdk1.6.0_01\jre\lib\sunrsasign.jar;C:\Java\jdk1.6.0_01\jre\lib\jsse.jar;C:\Java\jdk1.6.0_01\jre\lib\jce.jar;C:\Java\jdk1.6.0_01\jre\lib\charsets.jar;C:\Java\jdk1.6.0_01\jre\classes java.vendor=Sun Microsystems Inc. file.separator=\ java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi sun.io.unicode.encoding=UnicodeLittle sun.cpu.endian=little sun.desktop=windows sun.cpu.isalist= ---- Command Line --- ajc -Xms256M -Xmx1024M -g -log C:\projects\mosaic.trunk\ajc.log -progress -cp C:\projects\mosaic.trunk\lib\PDFBox-0.7.2.jar;C:\projects\mosaic.trunk\lib\activation.jar;C:\projects\mosaic.trunk\lib\alloy.jar;C:\projects\mosaic.trunk\lib\ant.jar;C:\projects\mosaic.trunk\lib\antlr.jar;C:\projects\mosaic.trunk\lib\aspectjrt.jar;C:\projects\mosaic.trunk\lib\aspectjtools.jar;C:\projects\mosaic.trunk\lib\avalon-framework.jar;C:\projects\mosaic.trunk\lib\axis.jar;C:\projects\mosaic.trunk\lib\batik-svggen.jar;C:\projects\mosaic.trunk\lib\batik.jar;C:\projects\mosaic.trunk\lib\cayenne.jar;C:\projects\mosaic.trunk\lib\commons-beanutils-1.7.jar;C:\projects\mosaic.trunk\lib\commons-digester-1.7.jar;C:\projects\mosaic.trunk\lib\commons-discovery.jar;C:\projects\mosaic.trunk\lib\commons-math-1.0.jar;C:\projects\mosaic.trunk\lib\easymock.jar;C:\projects\mosaic.trunk\lib\fop.jar;C:\projects\mosaic.trunk\lib\itext.jar;C:\projects\mosaic.trunk\lib\jai_codec.jar;C:\projects\mosaic.trunk\lib\jai_core.jar;C:\projects\mosaic.trunk\lib\jasperreports.jar;C:\projects\mosaic.trunk\lib\jaxrpc.jar;C:\projects\mosaic.trunk\lib\jcommon-0.9.7.jar;C:\projects\mosaic.trunk\lib\jdic.jar;C:\projects\mosaic.trunk\lib\jdom.jar;C:\projects\mosaic.trunk\lib\jh.jar;C:\projects\mosaic.trunk\lib\jide.jar;C:\projects\mosaic.trunk\lib\junit-addons-1.4.jar;C:\projects\mosaic.trunk\lib\junit.jar;C:\projects\mosaic.trunk\lib\log4j-1.2.8.jar;C:\projects\mosaic.trunk\lib\mail.jar;C:\projects\mosaic.trunk\lib\ojdbc14-10.2.0.jar;C:\projects\mosaic.trunk\lib\poi-2.5.1-final-20040804.jar;C:\projects\mosaic.trunk\lib\poi-contrib-2.5.1.jar;C:\projects\mosaic.trunk\lib\saaj.jar;C:\projects\mosaic.trunk\lib\saxon8.jar;C:\projects\mosaic.trunk\lib\tcjavaspy2.jar;C:\projects\mosaic.trunk\lib\velocity-tools-generic-1.1.jar -1.5 -argfile C:\projects\mosaic.trunk\mosaic-build.lst -d C:\projects\mosaic.trunk\build ---- Full Classpath --- C:\Java\jdk1.6.0_01\jre\lib\resources.jar(1071615 bytes) C:\Java\jdk1.6.0_01\jre\lib\rt.jar(46062484 bytes) C:\Java\jdk1.6.0_01\jre\lib\sunrsasign.jar(missing) C:\Java\jdk1.6.0_01\jre\lib\jsse.jar(616317 bytes) C:\Java\jdk1.6.0_01\jre\lib\jce.jar(88256 bytes) C:\Java\jdk1.6.0_01\jre\lib\charsets.jar(6825435 bytes) C:\Java\jdk1.6.0_01\jre\classes(0 entries) C:\Java\jdk1.6.0_01\jre\lib\ext\dnsns.jar(8241 bytes) C:\Java\jdk1.6.0_01\jre\lib\ext\localedata.jar(842219 bytes) C:\Java\jdk1.6.0_01\jre\lib\ext\sunjce_provider.jar(170257 bytes) C:\Java\jdk1.6.0_01\jre\lib\ext\sunmscapi.jar(31632 bytes) C:\Java\jdk1.6.0_01\jre\lib\ext\sunpkcs11.jar(224493 bytes) C:\projects\mosaic.trunk\lib\PDFBox-0.7.2.jar(3276299 bytes) C:\projects\mosaic.trunk\lib\activation.jar(54829 bytes) C:\projects\mosaic.trunk\lib\alloy.jar(347886 bytes) C:\projects\mosaic.trunk\lib\ant.jar(736810 bytes) C:\projects\mosaic.trunk\lib\antlr.jar(372003 bytes) C:\projects\mosaic.trunk\lib\aspectjrt.jar(114989 bytes) C:\projects\mosaic.trunk\lib\aspectjtools.jar(8235199 bytes) C:\projects\mosaic.trunk\lib\avalon-framework.jar(62694 bytes) C:\projects\mosaic.trunk\lib\axis.jar(1599495 bytes) C:\projects\mosaic.trunk\lib\batik-svggen.jar(164659 bytes) C:\projects\mosaic.trunk\lib\batik.jar(2111580 bytes) C:\projects\mosaic.trunk\lib\cayenne.jar(2557694 bytes) C:\projects\mosaic.trunk\lib\commons-beanutils-1.7.jar(188671 bytes) C:\projects\mosaic.trunk\lib\commons-digester-1.7.jar(139966 bytes) C:\projects\mosaic.trunk\lib\commons-discovery.jar(74527 bytes) C:\projects\mosaic.trunk\lib\commons-math-1.0.jar(152709 bytes) C:\projects\mosaic.trunk\lib\easymock.jar(38873 bytes) C:\projects\mosaic.trunk\lib\fop.jar(1519742 bytes) C:\projects\mosaic.trunk\lib\itext.jar(1138709 bytes) C:\projects\mosaic.trunk\lib\jai_codec.jar(258160 bytes) C:\projects\mosaic.trunk\lib\jai_core.jar(1900631 bytes) C:\projects\mosaic.trunk\lib\jasperreports.jar(1685096 bytes) C:\projects\mosaic.trunk\lib\jaxrpc.jar(32071 bytes) C:\projects\mosaic.trunk\lib\jcommon-0.9.7.jar(362283 bytes) C:\projects\mosaic.trunk\lib\jdic.jar(89160 bytes) C:\projects\mosaic.trunk\lib\jdom.jar(153654 bytes) C:\projects\mosaic.trunk\lib\jh.jar(347246 bytes) C:\projects\mosaic.trunk\lib\jide.jar(684994 bytes) C:\projects\mosaic.trunk\lib\junit-addons-1.4.jar(58787 bytes) C:\projects\mosaic.trunk\lib\junit.jar(129623 bytes) C:\projects\mosaic.trunk\lib\log4j-1.2.8.jar(370549 bytes) C:\projects\mosaic.trunk\lib\mail.jar(347137 bytes) C:\projects\mosaic.trunk\lib\ojdbc14-10.2.0.jar(1536979 bytes) C:\projects\mosaic.trunk\lib\poi-2.5.1-final-20040804.jar(802216 bytes) C:\projects\mosaic.trunk\lib\poi-contrib-2.5.1.jar(55209 bytes) C:\projects\mosaic.trunk\lib\saaj.jar(19427 bytes) C:\projects\mosaic.trunk\lib\saxon8.jar(3730821 bytes) C:\projects\mosaic.trunk\lib\tcjavaspy2.jar(13083 bytes) C:\projects\mosaic.trunk\lib\velocity-tools-generic-1.1.jar(14242 bytes) ---- Compiler Messages --- error at (no source information available) C:\projects\mosaic.trunk\src\com\entero\mosaic\domain\reporters\ReconCompNetByProdType6AReporter.java:0::0 Internal compiler error java.lang.OutOfMemoryError: Java heap space at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:239) at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java:70) at org.aspectj.org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents(CompilationUnit.java:57) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTScannerClass.setSource(TheOriginalJDTScannerClass.java:3364) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTScannerClass.setSource(TheOriginalJDTScannerClass.java:3380) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getMethodBodies(TheOriginalJDTParserClass.java:6208) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:508) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:974) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:262) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:178) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:378) at org.aspectj.tools.ajc.Main.runMain(Main.java:253) at org.aspectj.tools.ajc.Main.main(Main.java:88) abort ABORT -- (OutOfMemoryError) Java heap space Java heap space java.lang.OutOfMemoryError: Java heap space at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:239) at org.aspectj.org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java:70) at org.aspectj.org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents(CompilationUnit.java:57) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTScannerClass.setSource(TheOriginalJDTScannerClass.java:3364) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTScannerClass.setSource(TheOriginalJDTScannerClass.java:3380) at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getMethodBodies(TheOriginalJDTParserClass.java:6208) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:508) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:974) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:262) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:178) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:378) at org.aspectj.tools.ajc.Main.runMain(Main.java:253) at org.aspectj.tools.ajc.Main.main(Main.java:88) ---- org.aspectj.weaver.bcel.BcelWorld@5a9de6 ---- Shadow mungers: Empty Type mungers: Empty Late Type mungers: Empty
Does it help if you increase permgen space, e.g., -XX:MaxPermSize=256m (or larger)? The out of memory error in this case is deceitful because it isn't really out of heap at all. Otherwise, can you compile with more -Xmx maximum memory, or compile a smaller set of files?
No it doesn't help adding the following: ajc -Xms256M -Xmx1024M -XX:PermSize=512m -XX:MaxPermSize=1024m ... Also, compiling with smaller batches of files should be considered a temporary workaround at best. Long term this issue should be fixed. It's alot of work to sort out on large projects the compile order when compared with just javac called once to build the entire project. I can do it but it will cost me alot of time to setup incrementally building the .jars and I would imagine this would be a common problem for other large projects in general.
er... you don't override the memory settings for the compiler like that ... you have to edit the ajc.bat and modify the -Xmx passed to the java process it launches, the default is 64M.
Doh!