Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JBoss User Help »

[jboss-user] [JBoss AOP] - Problem instantiating instrumentd class
 after redeploy

scott.stark@jboss.org

2007-07-06


Currently in AS trunk I'm seeing failures instantiating objects of an instrumented following redeploy of a WAR:


| 2007-07-06 10:46:43,229 ERROR [STDERR] java.lang.RuntimeException:
|    public org.jboss.test.cluster.web.aop.JoinPoint_w_name_16 WebappClassLoader
|  delegate: false
|  repositories:
|   /WEB-INF/classes/
| ----------> Parent Classloader:
| java.net.FactoryURLClassLoader@(protected)
|
|      private transient org.jboss.aspects.patterns.observable.SubjectInterceptor around1 org.jboss.mx.loading.UnifiedClassLoader3@(protected)}
|       boolean initialisedLightweightInstanceAspects null
|       boolean isForInstanceAdvisor null
|      extends
|
|    public static org.jboss.test.cluster.web.aop.Person$JoinPoint_w_name WebappClassLoader
|  delegate: false
|  repositories:
|   /WEB-INF/classes/
| ----------> Parent Classloader:
| java.net.FactoryURLClassLoader@(protected)
|
|      protected org.jboss.test.cluster.web.aop.Person typedTargetObject WebappClassLoader
|  delegate: false
|  repositories:
|   /WEB-INF/classes/
| ----------> Parent Classloader:
| java.net.FactoryURLClassLoader@(protected)
|
|      protected [Ljava.lang.Object; arguments null
|      protected org.jboss.aop.FieldInfo info org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      extends
|
|    public org.jboss.aop.joinpoint.FieldWriteInvocation org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      static final long serialVersionUID null
|      protected java.lang.Object value null
|      extends
|
|    public abstract org.jboss.aop.joinpoint.FieldInvocation org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      private static final long serialVersionUID null
|      protected transient java.lang.reflect.Field field null
|      protected int index null
|      extends
|
|    public abstract org.jboss.aop.joinpoint.InvocationBase org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      static final long serialVersionUID null
|      protected org.jboss.aop.metadata.SimpleMetaData metadata org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      protected transient int currentInterceptor null
|      protected transient [Lorg.jboss.aop.advice.Interceptor; interceptors org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      protected transient org.jboss.aop.Advisor advisor org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
|      protected transient java.util.Map responseContextInfo null
|      protected transient java.lang.Object targetObject null
|      protected transient org.jboss.aop.metadata.MetaDataResolver instanceResolver org.jboss.system.server.NoAnnotationURLClassLoader@(protected)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.aop.instrument.JoinPointGenerator.instantiateClass(JoinPointGenerator.java:314)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.aop.instrument.JoinPointGenerator.doGenerateJoinPointClass(JoinPointGenerator.java:278)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.aop.instrument.JoinPointGenerator.access$200(JoinPointGenerator.java:74)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.aop.instrument.JoinPointGenerator$GenerateJoinPointClassAction$2.generateJoinPointClass(JoinPointGenerator.java:1621)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.aop.instrument.JoinPointGenerator.generateJoinPointClass(JoinPointGenerator.java:237)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.aop.GeneratedClassAdvisor.generateJoinPointClass(GeneratedClassAdvisor.java:984)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.test.cluster.web.aop.Person$PersonAdvisor.Person$PersonAdvisor$name_w_$aop(Person$PersonAdvisor.java)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.test.cluster.web.aop.Person.name_w_$aop(Person.java)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.jboss.test.cluster.web.aop.Person.<init>(Person.java:38)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.apache.jsp.setSession_jsp._jspService(setSession_jsp.java:64)
| 2007-07-06 10:46:43,229 ERROR [STDERR]  at org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:70)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at javax.servlet.http.HttpServlet.service (HttpServlet.java:803)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:393)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:320)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:266)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at javax.servlet.http.HttpServlet.service (HttpServlet.java:803)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter (ReplyHeaderFilter.java:96)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:230)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke (SecurityAssociationValve.java:177)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke (ClusteredSessionValve.java:89)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.jboss.web.tomcat.service.session.BatchReplicationClusteredSessionValve.invoke (BatchReplicationClusteredSessionValve.java:102)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:433)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.jboss.web.tomcat.security.JaccContextValve.invoke (JaccContextValve.java:105)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:128)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke (CachedConnectionValve.java:157)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:263)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:844)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at java.lang.Thread.run (Thread.java:595)
| 2007-07-06 10:46:43,245 ERROR [STDERR] Caused by: java.lang.reflect.InvocationTargetException
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39)
| 2007-07-06 10:46:43,245 ERROR [STDERR]  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at java.lang.reflect.Constructor.newInstance (Constructor.java:494)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.instrument.JoinPointGenerator.instantiateClass(JoinPointGenerator.java:309)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  ... 36 more
| 2007-07-06 10:46:43,261 ERROR [STDERR] Caused by: java.lang.NullPointerException
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.deployment.ScopedClassLoaderDomain.getPerVmAspectWithNoParentDelegation(ScopedClassLoaderDomain.java:125)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.deployment.ScopedClassLoaderDomain.getPerVMAspect(ScopedClassLoaderDomain.java:98)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.Domain.getPerVMAspect(Domain.java:734)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.Domain.getPerVMAspect(Domain.java:720)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.advice.GeneratedAdvisorInterceptor.getAspectInstance(GeneratedAdvisorInterceptor.java:191)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.advice.GeneratedAdvisorInterceptor.getAspect(GeneratedAdvisorInterceptor.java:157)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.aop.advice.GeneratedAdvisorInterceptor.getAspect(GeneratedAdvisorInterceptor.java:129)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.test.cluster.web.aop.JoinPoint_w_name_16.getAround1(JoinPoint_w_name_16.java)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  at org.jboss.test.cluster.web.aop.JoinPoint_w_name_16.<init>(JoinPoint_w_name_16.java)
| 2007-07-06 10:46:43,261 ERROR [STDERR]  ... 41 more

I'm seeing this when working with a unit test that deploys a war -- first time unit test passes (and cleans up by undeploying the war). If I run the test again against the same appserver instance, it fails as above.

The Person class is packaged in the war. It has been instrumented at compile time with a DynamicAop "prepare" and also with a Subject mixin and the SubjectInterceptor.

An earlier similar failure also included some WARN messages from Tomcat's WebAppClassloader complaining about using a classloader from an undeployed webapp. These were right before the failure. Unfortunately I didn't keep those logs and haven't been able to reproduce the exact scenario that generated them. The Tomcat WARN messages didn't happen before the above stack trace.

Any thoughts?

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4061411
_______________________________________________
jboss-user mailing list
jboss-user@(protected)
https://lists.jboss.org/mailman/listinfo/jboss-user
©2008 junlu.com - Jax Systems, LLC, U.S.A.