Bug 117160 - NPE trying to read AtAspectJ Bytecode in LTW
Summary: NPE trying to read AtAspectJ Bytecode in LTW
Status: RESOLVED DUPLICATE of bug 116626
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-18 17:35 EST by Ron Bodkin CLA
Modified: 2005-11-22 00:24 EST (History)
1 user (show)

See Also:


Attachments
compiled output from this aspect (1.78 KB, application/java)
2005-11-18 17:35 EST, Ron Bodkin CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2005-11-18 17:35:01 EST
The following aspect is flagged as an @AspectJ aspect by the compiler which 
causes it to throw an NPE when loading it with load-time weaving. This is 
simplified from the original code that triggered this bug (an aspect with some 
methods, fields, and pointcuts but no advice or ITD's...) I will also attach 
the bytecode produced by ajc in Java 1.5 source compilation mode for this.

package com.crankj.aspects;

public aspect TestBadAtaj {
//


}

Here’s the stack trace:
java.lang.NullPointerException
	at 
org.aspectj.weaver.tools.WeavingAdaptor$WeavingClassFileProvider.getBytes
(WeavingAdaptor.java:413)
	at org.aspectj.weaver.tools.WeavingAdaptor.getAtAspectJAspectBytes
(WeavingAdaptor.java:282)
	at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass
(WeavingAdaptor.java:202)
	at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:67)
	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.defineClass(Ljava.lang.String;
[BIILjava.security.ProtectionDomain;)Ljava.lang.Class;(Unknown Source)
	at java.security.SecureClassLoader.defineClass
(SecureClassLoader.java:124)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal
(WebappClassLoader.java:1629)
	at org.apache.catalina.loader.WebappClassLoader.findClass
(WebappClassLoader.java:850)
	at org.apache.catalina.loader.WebappClassLoader.loadClass
(WebappClassLoader.java:1299)
	at org.apache.catalina.loader.WebappClassLoader.loadClass
(WebappClassLoader.java:1181)
	at java.lang.ClassLoader.loadClassFromNative(ILjava.lang.String;)
Ljava.lang.Class;(Unknown Source)
	at com.ibatis.jpetstore.presentation.action.BaseAction.perform
(BaseAction.java:33)
	at org.apache.struts.action.ActionServlet.processActionPerform
(ActionServlet.java:1787)
	at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1586)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:105)
Comment 1 Ron Bodkin CLA 2005-11-18 17:35:37 EST
Created attachment 30269 [details]
compiled output from this aspect
Comment 2 Matthew Webster CLA 2005-11-20 06:26:47 EST
This is known problem that has been reported and resolved by Bug 116626.
Comment 3 Ron Bodkin CLA 2005-11-22 00:24:12 EST
This was fixed right after I ran into it :-;

*** This bug has been marked as a duplicate of 116626 ***