Bug 175709 - [ltw] Multiple ClassNotFoundExceptions when weaving local class
Summary: [ltw] Multiple ClassNotFoundExceptions when weaving local class
Status: NEW
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: 2007-02-27 10:33 EST by Matthew Webster CLA
Modified: 2008-12-03 14:00 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Webster CLA 2007-02-27 10:33:50 EST
The follow errors appear when using AspectJ trace under LTW:

27-Feb-2007 15:21:38 org.aspectj.weaver.tools.Jdk14Trace error
SEVERE: Unable to find class 'org.eclipse.jdt.internal.core.JavaElement$1' in repository
java.lang.ClassNotFoundException: org.eclipse.jdt.internal.core.JavaElement$1 not found - unable to determine URL
	at org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:264)
	at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:369)
	at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:338)
	at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:97)
	at org.aspectj.weaver.World.resolveToReferenceType(World.java:378)
	at org.aspectj.weaver.World.resolve(World.java:271)
	at org.aspectj.weaver.ResolvedType.getDeclaringType(ResolvedType.java:1280)
	at org.aspectj.weaver.patterns.WithinPointcut.isWithinType(WithinPointcut.java:50)
	at org.aspectj.weaver.patterns.WithinPointcut.fastMatch(WithinPointcut.java:67)
	at org.aspectj.weaver.patterns.NotPointcut.fastMatch(NotPointcut.java:49)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.patterns.AndPointcut.fastMatch(AndPointcut.java:48)
	at org.aspectj.weaver.bcel.BcelWeaver.fastMatch(BcelWeaver.java:1718)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1585)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1563)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1341)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1161)
	at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:353)
	at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:260)

The affect on the woven class org.eclipse.jdt.internal.core.JavaElement$1$NoResourceSchedulingRule. is unknown but the exceptions mean the weaving process for that class takes over 30 seconds!

The problem may lie with AspectJ assuming that "$" is a class name separator and that javac and ajc generate different class names.
Comment 1 Andrew Clement CLA 2008-12-03 14:00:32 EST
needs a test case before I can continue looking into it - surprised more people haven't hit it if it is a problem.