Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] LTW exceptions

I have a very simple (HelloWorld) servlet with an aspect that I am trying to use with load-time weaving under Tomcat.

My aop.xml:

<aspectj>         

   <aspects>

        <aspect name="HttpServletMonitor"/>                  

   </aspects>

    <weaver options="-verbose -XlazyTjp">

        <include within="com.company.HWServlet"/>

   </weaver>

</aspectj>

public aspect HttpServletMonitor {

              public pointcut monitoredOperation(Object operation) :

                execution(void HttpServlet.doGet(HttpServletRequest , HttpServletResponse )) && this(operation);

              void around(Object operation) : monitoredOperation(operation) {

                  proceed(operation);

                  // write a tag to file.

              }

             

              public HttpServletMonitor(){

              }

}

 

I have the hwmonitor.jar, aop.xml, aspectj.jar and aspectjweaver.jar in my classpath, and defined javaagent

 

When I run this, I can see the loader trying to weave, but it’s trying to weave everything it comes across instead of just HWServlet!

 

 I end up with lots of exceptions of the following. Any thoughts on what I’ve done to cause these?

 

warning Register definition failed -- (BCException) malformed org.aspectj.weaver.EffectiveSignature attribute java.io.EOFException

malformed org.aspectj.weaver.EffectiveSignature attribute java.io.EOFException

org.aspectj.weaver.BCException: malformed org.aspectj.weaver.EffectiveSignature attribute java.io.EOFException

      at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:121)

      at org.aspectj.weaver.bcel.BcelAttributes.readAjAttributes(BcelAttributes.java:59)

      at org.aspectj.weaver.bcel.BcelMethod.unpackAjAttributes(BcelMethod.java:106)

      at org.aspectj.weaver.bcel.BcelMethod.<init>(BcelMethod.java:71)

      at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredMethods(BcelObjectType.java:188)

      at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:367)

      at org.aspectj.weaver.ResolvedType.getDeclaredAdvice(ResolvedType.java:617)

      at org.aspectj.weaver.ResolvedType.getDeclaredShadowMungers(ResolvedType.java:633)

      at org.aspectj.weaver.ResolvedType.collectShadowMungers(ResolvedType.java:518)

      at org.aspectj.weaver.ResolvedType.collectCrosscuttingMembers(ResolvedType.java:448)

      at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect(CrosscuttingMembersSet.java:58)

      at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:166)

      at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:233)

      at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:132)

      at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init>(ClassLoaderWeavingAdaptor.java:93)

      at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:81)

      at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:54)

      at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)

      at sun.instrument.TransformerManager.transform(TransformerManager.java:122)

      at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)

      at java.lang.ClassLoader.defineClass1(Native Method)

      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

      at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

      at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

      at java.security.AccessController.doPrivileged(Native Method)

      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

      at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:198)

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:386)

 

 

If I change the execution line to look for HWServlet.doGet() I get lots of a different exception:

 

warning Register definition failed -- (BCException) unknown TypePattern kind: 100

unknown TypePattern kind: 100

org.aspectj.weaver.BCException: unknown TypePattern kind: 100

      at org.aspectj.weaver.patterns.TypePattern.read(TypePattern.java:348)

      at org.aspectj.weaver.patterns.WildTypePattern.readTypePattern150(WildTypePattern.java:1151)

      at org.aspectj.weaver.patterns.WildTypePattern.read(WildTypePattern.java:1123)

      at org.aspectj.weaver.patterns.TypePattern.read(TypePattern.java:336)

      at org.aspectj.weaver.patterns.SignaturePattern.read(SignaturePattern.java:622)

      at org.aspectj.weaver.patterns.KindedPointcut.read(KindedPointcut.java:272)

      at org.aspectj.weaver.patterns.Pointcut.read(Pointcut.java:336)

      at org.aspectj.weaver.patterns.AndPointcut.read(AndPointcut.java:129)

      at org.aspectj.weaver.patterns.Pointcut.read(Pointcut.java:340)

      at org.aspectj.weaver.ResolvedPointcutDefinition.read(ResolvedPointcutDefinition.java:76)

      at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:101)

      at org.aspectj.weaver.bcel.BcelAttributes.readAjAttributes(BcelAttributes.java:59)

      at org.aspectj.weaver.bcel.BcelObjectType.unpackAspectAttributes(BcelObjectType.java:249)

      at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:119)

      at org.aspectj.weaver.bcel.BcelWorld.makeBcelObjectType(BcelWorld.java:244)

      at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:239)

      at org.aspectj.weaver.World.resolveToReferenceType(World.java:277)

      at org.aspectj.weaver.World.resolve(World.java:205)

      at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:144)

      at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:233)

      at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:132)

      at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init>(ClassLoaderWeavingAdaptor.java:93)

      at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:81)

      at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:54)

      at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)

      at sun.instrument.TransformerManager.transform(TransformerManager.java:122)

      at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)

      at java.lang.ClassLoader.defineClass1(Native Method)

      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

      at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

      at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

      at java.security.AccessController.doPrivileged(Native Method)

      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

      at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:198)

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:386)

 


Back to the top