[jbossws-issues] [JBoss JIRA] Updated: (JBWS-2810) UnifiedMetaData uses thread context loader to find classes, this can lead to javassist.NotFoundException

Alessio Soldano (JIRA) jira-events at lists.jboss.org
Fri Nov 27 04:50:30 EST 2009


     [ https://jira.jboss.org/jira/browse/JBWS-2810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alessio Soldano updated JBWS-2810:
----------------------------------

    Fix Version/s: jbossws-native-3.3
                       (was:  jbossws-native-3.2.2)


While waiting for user comment, moving to 3.3 as the proposed fix does not fit well in a minor x.x.2 release.

> UnifiedMetaData uses thread context loader to find classes, this can lead to javassist.NotFoundException
> --------------------------------------------------------------------------------------------------------
>
>                 Key: JBWS-2810
>                 URL: https://jira.jboss.org/jira/browse/JBWS-2810
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-native
>    Affects Versions: jbossws-native-3.0.1
>            Reporter: Johannes Rudolph
>            Assignee: Alessio Soldano
>             Fix For: jbossws-native-3.3
>
>
> See this description on the seam page:
> http://seamframework.org/Community/AsynchronousJavassistClassloadProblem
> or another stack trace here. [1]
> If you call Service.getPort from a Thread for which the context class loader is not set correctly, the call fails like shown.  This can happen, for example, when scheduled on another Thread. Wouldn't it be better to use a ClassLoader which is more likely to return the domain class? For example the ClassLoader of the Class object passed to the Service.getPort call?
> This gives rise to subtle bugs, where this occurs only after JBoss AS was freshly started. After a redeploy some ClassLoader magic has happened and everything is working as expected.
> [1] (I replaced some domain Class names with XXX)
> 15:05:37,582 ERROR [STDERR] org.jboss.ws.WSException: Could not generate wrapper type: XXX
> 15:05:37,582 ERROR [STDERR] at org.jboss.ws.core.jaxws.DynamicWrapperGenerator.generate(DynamicWrapperGenerator.java:124)
> 15:05:37,582 ERROR [STDERR] at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.processWebMethod(JAXWSMetaDataBuilder.java:774)
> 15:05:37,582 ERROR [STDERR] at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.processWebMethods(JAXWSMetaDataBuilder.java:891)
> 15:05:37,584 ERROR [STDERR] at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:300)
> 15:05:37,585 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:271)
> 15:05:37,585 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:202)
> 15:05:37,585 ERROR [STDERR] at javax.xml.ws.Service.getPort(Service.java:143)
> [...]
> 15:05:37,585 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 15:05:37,585 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,585 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,585 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
> 15:05:37,585 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
> 15:05:37,585 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
> 15:05:37,585 ERROR [STDERR] at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
> 15:05:37,585 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
> 15:05:37,585 ERROR [STDERR] at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
> 15:05:37,585 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 15:05:37,585 ERROR [STDERR] at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:30)
> 15:05:37,586 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)
> 15:05:37,586 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,586 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:187)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:72)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:29)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
> 15:05:37,586 ERROR [STDERR] at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
> 15:05:37,587 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 15:05:37,587 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,587 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,587 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
> 15:05:37,587 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
> 15:05:37,587 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
> 15:05:37,587 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,587 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
> 15:05:37,587 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,587 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
> 15:05:37,587 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,587 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
> 15:05:37,587 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
> 15:05:37,587 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
> 15:05:37,588 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
> 15:05:37,588 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
> 15:05:37,588 ERROR [STDERR] at $Proxy171.callUpdateContractConditions(Unknown Source)
> 15:05:37,588 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 15:05:37,588 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,588 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,588 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:52)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
> 15:05:37,588 ERROR [STDERR] at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
> 15:05:37,589 ERROR [STDERR] at org.javassist.tmp.java.lang.Object_$$_javassist_seam_13.callUpdateContractConditions(Object_$$_javassist_seam_13.java)
> 15:05:37,589 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 15:05:37,589 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,589 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 15:05:37,589 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
> 15:05:37,589 ERROR [STDERR] at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
> 15:05:37,589 ERROR [STDERR] at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
> 15:05:37,589 ERROR [STDERR] at org.jboss.seam.async.AsynchronousInvocation$1.process(AsynchronousInvocation.java:62)
> 15:05:37,589 ERROR [STDERR] at org.jboss.seam.async.Asynchronous$ContextualAsynchronousRequest.run(Asynchronous.java:80)
> 15:05:37,589 ERROR [STDERR] at org.jboss.seam.async.AsynchronousInvocation.execute(AsynchronousInvocation.java:44)
> 15:05:37,589 ERROR [STDERR] at org.jboss.seam.async.QuartzDispatcher$QuartzJob.execute(QuartzDispatcher.java:243)
> 15:05:37,589 ERROR [STDERR] at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
> 15:05:37,589 ERROR [STDERR] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
> 15:05:37,589 ERROR [STDERR] Caused by: javassist.NotFoundException: XXX
> 15:05:37,589 ERROR [STDERR] at javassist.ClassPool.get(ClassPool.java:436)
> 15:05:37,589 ERROR [STDERR] at org.jboss.ws.core.jaxws.DynamicWrapperGenerator.addProperty(DynamicWrapperGenerator.java:203)
> 15:05:37,589 ERROR [STDERR] at org.jboss.ws.core.jaxws.DynamicWrapperGenerator.generate(DynamicWrapperGenerator.java:111)
> 15:05:37,589 ERROR [STDERR] ... 87 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossws-issues mailing list