Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] OutOfMemoryError caused by ltw of Groovy?

I've been using AspectJ to advise a method call in Sonic ESB without any issues for about a week.
 
Recently, though, I started building out the functionality, and I included the use of a Groovy class that is instantiated and called from within my aspect.  About that same time, I started seeing a long pause followed by a stack trace each time I ran the first message through the Sonic container after a restart.
 
I've now confirmed that this happens not upon instantiating the Groovy object but during the first call to any one of its methods.  It doesn't matter which method gets called.  That first method call will cause the error that I've attached.
 
Is this AspectJ gagging on Groovy?  What can I do to prevent?  I don't need to use any aspects on the Groovy code, and I don't believe any of my pointcuts reference my Groovy code.  I just need to make AspectJ leave Groovy alone, I guess.
 
Thanks,
Lee Grey
 
Feb 10, 2011 6:50:31 PM org.aspectj.weaver.tools.Jdk14Trace error
SEVERE: org/codehaus/groovy/runtime/ArrayUtil
java.lang.OutOfMemoryError: Java heap space
 at java.io.ByteArrayOutputStream.write(Unknown Source)
 at java.io.PrintStream.write(Unknown Source)
 at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(Unknown Source)
 at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(Unknown Source)
 at sun.nio.cs.StreamEncoder.flushBuffer(Unknown Source)
 at java.io.OutputStreamWriter.flushBuffer(Unknown Source)
 at java.io.PrintStream.newLine(Unknown Source)
 at java.io.PrintStream.println(Unknown Source)
 at org.aspectj.weaver.bcel.LazyMethodGen$BodyPrinter.print(LazyMethodGen.java:652)
 at org.aspectj.weaver.bcel.LazyMethodGen$BodyPrinter.run(LazyMethodGen.java:572)
 at org.aspectj.weaver.bcel.LazyMethodGen.print(LazyMethodGen.java:533)
 at org.aspectj.weaver.bcel.LazyClassGen.printOne(LazyClassGen.java:834)
 at org.aspectj.weaver.bcel.LazyClassGen.print(LazyClassGen.java:793)
 at org.aspectj.weaver.bcel.LazyClassGen.toLongString(LazyClassGen.java:781)
 at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1703)
 at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1618)
 at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1379)
 at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1173)
 at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:467)
 at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:318)
 at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:96)
 at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
 at sun.instrument.TransformerManager.transform(Unknown Source)
 at sun.instrument.InstrumentationImpl.transform(Unknown Source)
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at java.security.SecureClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.access$100(Unknown Source)
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
Feb 10, 2011 6:50:31 PM org.aspectj.weaver.tools.Jdk14Trace info
INFO: Dumping to C:\Sonic\Workbench7.5\eclipse\.\ajcore.20110210.185031.884.txt
---- AspectJ Properties ---
AspectJ Compiler 1.6.10 built on Friday Oct 22, 2010 at 03:50:26 GMT
---- Dump Properties ---
Dump file: ajcore.20110210.185031.884.txt
Dump reason: java.lang.OutOfMemoryError
Dump on exception: true
Dump at exit condition: abort
---- Exception Information ---
java.lang.OutOfMemoryError: Java heap space
	at java.io.ByteArrayOutputStream.write(Unknown Source)
	at java.io.PrintStream.write(Unknown Source)
	at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(Unknown Source)
	at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(Unknown Source)
	at sun.nio.cs.StreamEncoder.flushBuffer(Unknown Source)
	at java.io.OutputStreamWriter.flushBuffer(Unknown Source)
	at java.io.PrintStream.newLine(Unknown Source)
	at java.io.PrintStream.println(Unknown Source)
	at org.aspectj.weaver.bcel.LazyMethodGen$BodyPrinter.print(LazyMethodGen.java:652)
	at org.aspectj.weaver.bcel.LazyMethodGen$BodyPrinter.run(LazyMethodGen.java:572)
	at org.aspectj.weaver.bcel.LazyMethodGen.print(LazyMethodGen.java:533)
	at org.aspectj.weaver.bcel.LazyClassGen.printOne(LazyClassGen.java:834)
	at org.aspectj.weaver.bcel.LazyClassGen.print(LazyClassGen.java:793)
	at org.aspectj.weaver.bcel.LazyClassGen.toLongString(LazyClassGen.java:781)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1703)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1618)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1379)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1173)
	at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:467)
	at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:318)
	at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:96)
	at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
	at sun.instrument.TransformerManager.transform(Unknown Source)
	at sun.instrument.InstrumentationImpl.transform(Unknown Source)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$100(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
---- System Properties ---
java.vendor=Sun Microsystems Inc.
sun.java.launcher=SUN_STANDARD
org.osgi.supports.framework.extension=true
sun.management.compiler=HotSpot Client Compiler
osgi.framework.beginningstartlevel=1
SSL_CERTIFICATE_CHAIN=C:\Sonic\MQ7.5/certs/client.p7c
os.name=Windows XP
sun.boot.class.path=C:/Sonic/Workbench7.5/eclipse/Domain1.dev_ESBCore.cache/_MFArchive/MF/7.5/1213146260000.0.MFcontainer.car/boot/lib/jmxri.jar;C:/Sonic/Workbench7.5/eclipse/Domain1.dev_ESBCore.cache/_MFArchive/MF/7.5/1213146260000.0.MFcontainer.car/boot/lib/xalan.jar;C:/Sonic/Workbench7.5/eclipse/Domain1.dev_ESBCore.cache/_MFArchive/MF/7.5/1213146260000.0.MFcontainer.car/boot/lib/xercesImpl.jar;C:/Sonic/Workbench7.5/eclipse/Domain1.dev_ESBCore.cache/_MFArchive/MF/7.5/1213146260000.0.MFcontainer.car/boot/lib/xmlParserAPIs.jar;C:\Program Files\Java\jre1.5.0_22\lib\rt.jar;C:\Program Files\Java\jre1.5.0_22\lib\i18n.jar;C:\Program Files\Java\jre1.5.0_22\lib\sunrsasign.jar;C:\Program Files\Java\jre1.5.0_22\lib\jsse.jar;C:\Program Files\Java\jre1.5.0_22\lib\jce.jar;C:\Program Files\Java\jre1.5.0_22\lib\charsets.jar;C:\Program Files\Java\jre1.5.0_22\classes
osgi.ws=win32
sun.desktop=windows
java.vm.specification.vendor=Sun Microsystems Inc.
sonicsw.mf.allowRestart=true
java.runtime.version=1.5.0_22-b03
osgi.instance.area=file:/C:/Sonic/Workbench7.5/workspace_baseClass/
user.name=lg250067
org.osgi.framework.system.packages=javax.accessibility,javax.activity,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.events,org.w3c.dom.ls,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
SSL_PRIVATE_KEY=C:\Sonic\MQ7.5/certs/clientKey.pkcs8
sonicsw.mf.id=Domain1.dev_ESBCore
sonicsw.mx.cli.prompt=false
org.osgi.framework.language=en
java.naming.factory.initial=com.sonicsw.xqimpl.jndi.spi.XQTNSContextFactory
user.language=en
SSL_CIPHER_SUITES=SSL_RSA_WITH_3DES_EDE_CBC_SHA
org.osgi.framework.processor=x86
osgi.syspath=c:\Sonic\Workbench7.5\eclipse\plugins
sun.boot.library.path=C:\Program Files\Java\jre1.5.0_22\bin
sonicsw.home=C:\Sonic
osgi.manifest.cache=C:\Sonic\Workbench7.5\eclipse\configuration\org.eclipse.osgi\manifests
SSL_PRIVATE_KEY_PASSWORD=password
eof=eof
org.osgi.framework.bootdelegation=*
java.version=1.5.0_22
org.osgi.framework.os.name=WindowsXP
user.timezone=America/New_York
sun.arch.data.model=32
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start
java.endorsed.dirs=C:\Program Files\Java\jre1.5.0_22\lib\endorsed
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
sun.jnu.encoding=Cp1252
file.encoding.pkg=sun.io
org.osgi.framework.vendor=Eclipse
file.separator=\
java.specification.name=Java Platform API Specification
java.class.version=49.0
user.country=US
java.home=C:\Program Files\Java\jre1.5.0_22
osgi.os=win32
eclipse.commands=-os
win32
-ws
win32
-arch
x86
-launcher
C:\Sonic\Workbench7.5\eclipse\eclipse.exe
-name
Sonic Workbench
-showsplash
600
-exitdata
65c_84
-product
com.sonicsw.tools.workbench.product
-vm
C:\Program Files\Java\jre1.5.0_22\bin\javaw.exe

java.vm.info=mixed mode
osgi.splashLocation=c:\Sonic\Workbench7.5\eclipse\plugins\com.sonicsw.tools.workbench_7.5.2\splash.bmp
os.version=5.1
osgi.arch=x86
path.separator=;
java.vm.version=1.5.0_22-b03
user.variant=
osgi.framework.shape=jar
osgi.instance.area.default=file:/C:/Documents and Settings/LG250067/workspace/
sonicsw.mf.signal=true
java.awt.printerjob=sun.awt.windows.WPrinterJob
sun.io.unicode.encoding=UnicodeLittle
org.osgi.framework.version=1.3.0
awt.toolkit=sun.awt.windows.WToolkit
osgi.install.area=file:/C:/Sonic/Workbench7.5/eclipse/
osgi.framework=file:/c:/Sonic/Workbench7.5/eclipse/plugins/org.eclipse.osgi_3.2.0.v20060601.jar
user.home=C:\Documents and Settings\LG250067
osgi.bundlestore=C:\Sonic\Workbench7.5\eclipse\configuration\org.eclipse.osgi\bundles
osgi.splashPath=platform:/base/plugins/com.sonicsw.tools.workbench
java.specification.vendor=Sun Microsystems Inc.
osgi.nl=en_US
java.library.path=C:\Sonic\Workbench7.5\eclipse\Domain1.dev_ESBCore.cache\native_libraries;C:\Program Files\Java\jre1.5.0_22\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Windows Imaging\;C:\sw\java\bin;C:\sw\groovy\bin;C:\sw\griffon\bin;C:\Program Files\TortoiseSVN\bin;c:\util;C:\sw\grails\bin;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Program Files\QuickTime\QTSystem\;c:\sw\aspectj\bin;c:\sw\gant\bin;
java.vendor.url=http://java.sun.com/
eclipse.startTime=1297366991660
org.osgi.framework.os.version=5.1
java.vm.vendor=Sun Microsystems Inc.
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
java.class.path=C:/Sonic/Workbench7.5/eclipse/Domain1.dev_ESBCore.cache/_MFArchive/MF/7.5/1213146260000.0.MFcontainer.car/launch/lib/MFlaunch.jar;C:/sw/aspectj/lib/aspectjweaver.jar
eclipse.vm=C:\Program Files\Java\jre1.5.0_22\bin\javaw.exe
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.version=1.0
sonicsw.mf.cli=true
sun.cpu.endian=little
sun.os.patch.level=Service Pack 3
java.io.tmpdir=C:\DOCUME~1\LG250067\LOCALS~1\Temp\
sonicsw.mx.cli.echo=false
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
eclipse.product=org.eclipse.sdk.ide
os.arch=x86
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.ext.dirs=C:\Program Files\Java\jre1.5.0_22\lib\ext
user.dir=C:\Sonic\Workbench7.5\eclipse
line.separator=

java.vm.name=Java HotSpot(TM) Client VM
SSL_CERTIFICATE_CHAIN_FORM=PKCS7
eclipse.ee.install.verify=false
file.encoding=Cp1252
osgi.framework.version=3.2.0.v20060601
eclipse.buildId=M20060629-1905
eclipse.vmargs=-Xms40m
-Xmx256m
-XX:MaxPermSize=256M
-Dosgi.splashPath=platform:/base/plugins/com.sonicsw.tools.workbench
-jar
C:\Sonic\Workbench7.5\eclipse\startup.jar

SSL_CA_CERTIFICATES_DIR=C:\Sonic\MQ7.5/certs/CA
java.specification.version=1.5
org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5
osgi.logfile=C:\Sonic\Workbench7.5\workspace_baseClass\.metadata\.log
osgi.configuration.area=file:/C:/Sonic/Workbench7.5/eclipse/configuration/
---- Command Line ---
Empty
---- Full Classpath ---
Empty
---- Compiler Messages ---
Empty

Back to the top