[jboss-user] [JBoss AOP] - Re: Bug in SuperClassesFirstWeavingStrategy?

chasta do-not-reply at jboss.com
Tue Dec 5 09:30:59 EST 2006


Here are the stack traces of the locked threads (copied from Eclipse's debugger, after suspending them):

------------------------ Thread 1 ----------------

Thread [TotalRecordings Thread] (Suspended)	
	ClassLoader.findBootstrapClass(String) line: not available [native method]	
	Launcher$ExtClassLoader(ClassLoader).findBootstrapClass0(String) line: 891	
	Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: 301	
	Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: 299	
	Launcher$AppClassLoader.loadClass(String, boolean) line: 268	
	Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 251	
	Launcher$AppClassLoader(ClassLoader).loadClassInternal(String) line: 319	
	ClassLoader.defineClass1(String, byte[], int, int, ProtectionDomain, String) line: not available [native method]	
	Launcher$AppClassLoader(ClassLoader).defineClass(String, byte[], int, int, ProtectionDomain) line: 620	
	Launcher$AppClassLoader(SecureClassLoader).defineClass(String, byte[], int, int, CodeSource) line: 124	
	Launcher$AppClassLoader(URLClassLoader).defineClass(String, Resource) line: 260	
	URLClassLoader.access$100(URLClassLoader, String, Resource) line: 56	
	URLClassLoader$1.run() line: 195	
	AccessController.doPrivileged(PrivilegedExceptionAction, AccessControlContext) line: not available [native method]	
	Launcher$AppClassLoader(URLClassLoader).findClass(String) line: 188	
	Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: 306	
	Launcher$AppClassLoader.loadClass(String, boolean) line: 268	
	Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 251	
	Launcher$AppClassLoader(ClassLoader).loadClassInternal(String) line: 319	
	CommonObjectUtil.(boolean) line: 34	
	CommonObjectUtil.() line: 41	
	JsonSerializer(AbstractSerializer).() line: 20	
	JsonSerializer.() line: 27	
	ObjectToJsonSerializer.() line: 10	
	TotalRecordingsMessageHandler.onMessage(Object) line: 42	
	TotalRecordings.run() line: 86	
	Thread.run() line: 595	

------------------- Thread 2 -----------------------------

Thread [ShopModule Thread] (Suspended)	
	ClassicWeavingStrategy.translate(AspectManager, String, ClassLoader, byte[]) line: 69	
	AspectManager.translate(String, ClassLoader, byte[]) line: 887	
	AspectManager.transform(ClassLoader, String, Class, ProtectionDomain, byte[]) line: 830	
	AOPTransformer.aspectTransform(String, ClassLoader, Class<?>, ProtectionDomain, byte[]) line: 88	
	AOPTransformer.transform(ClassLoader, String, Class<?>, ProtectionDomain, byte[]) line: 75	
	TransformerManager.transform(ClassLoader, String, Class, ProtectionDomain, byte[]) line: 122	
	InstrumentationImpl.transform(ClassLoader, String, Class, ProtectionDomain, byte[]) line: 155	
	Proxy.defineClass0(ClassLoader, String, byte[], int, int) line: not available [native method]	
	Proxy.getProxyClass(ClassLoader, Class<?>...) line: 487	
	Proxy.newProxyInstance(ClassLoader, Class<?>[], InvocationHandler) line: 564	
	AnnotationParser.annotationForMap(Class, Map<String,Object>) line: 223	
	AnnotationParser.parseAnnotation(ByteBuffer, ConstantPool, Class) line: 213	
	AnnotationParser.parseAnnotations2(byte[], ConstantPool, Class) line: 69	
	AnnotationParser.parseAnnotations(byte[], ConstantPool, Class) line: 52	
	Class.initAnnotationsIfNecessary() line: 2998	
	Class.getAnnotation(Class) line: 2958	
	AnnotationType.(Class<?>) line: 104	
	AnnotationType.getInstance(Class) line: 64	
	AnnotationParser.parseAnnotation(ByteBuffer, ConstantPool, Class) line: 186	
	AnnotationParser.parseAnnotations2(byte[], ConstantPool, Class) line: 69	
	AnnotationParser.parseAnnotations(byte[], ConstantPool, Class) line: 52	
	Class.initAnnotationsIfNecessary() line: 2998	
	Class.getAnnotation(Class) line: 2958	
	AnnotationElement.getVisibleAnnotation(Class, Class) line: 88	
	PortableAnnotationElement.getAnyAnnotation(Class, Class) line: 402	
	AdvisorMatcherStrategy(MatcherStrategy).subtypeOf(Class, ClassExpression, Advisor) line: 63	
	Util.subtypeOf(Class, ClassExpression, Advisor) line: 413	
	Util.matchesClassExpr(ClassExpression, Class, Advisor) line: 124	
	InterfaceIntroduction.matches(Advisor, Class) line: 234	
	AspectManager.applyInterfaceIntroductions(Advisor, Class) line: 1580	
	ClassAdvisor$1.run() line: 289	
	AccessController.doPrivileged(PrivilegedExceptionAction) line: not available [native method]	
	ClassAdvisor.attachClass(Class) line: 272	
	AspectManager.initialiseClassAdvisor(Class, ClassAdvisor) line: 600	
	AspectManager.getAdvisor(Class) line: 587	
	Product.() line: 20	
	ShopModule.run() line: 34	
	Thread.run() line: 595	

--------------------------------------------------

I'm not sure how feasible it'd be for me to deploy the application on a JBoss application server. It's not a J2EE (or even a web) application, and I have a feeling that trying to deploy it can potentially make me bounce into some tricky problems because of the use of native libraries and some components which may behave differently under an application server (e.g. a JMS broker). Perhaps there is a way to use JBoss's ClassLoader without deploying on the server?

Other than that, if the ClassLoader is related, it worth mentioning that we're using Sun's j2sdk-1.5.0_05.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991299#3991299

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991299



More information about the jboss-user mailing list