These happen from time to time.  Seems to be some sort of synchronization bug 
in the VM classloader.

Only real cure is to try/catch(LinkageError) fairly early and simply retry.  It 
always seems to work the second time.

Around org.apache.tomee.catalina.LazyStopWebappClassLoader.loadClass would be 
good.

Do a search for usages of LinkageError in the codebase and you'll see a handful 
of other places we've had to apply the same band-aid.


-David


On Feb 19, 2014, at 5:22 AM, agumbrecht <agumbre...@tomitribe.com> wrote:

> Any ideas?
> 
> SEVERE: error invoking
> Observer{class=com.tomitribe.wadler.wadl.WadlInstaller}
> java.lang.LinkageError: loader constraint violation: loader (instance of
> org/apache/tomee/catalina/LazyStopWebappClassLoader) previously initiated
> loading for a different type with name "org/apache/cxf/message/Message"
>       at java.lang.ClassLoader.defineClass1(Native Method)
>       at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>       at 
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>       at
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2944)
>       at
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1208)
>       at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
>       at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
>       at
> org.apache.tomee.catalina.LazyStopWebappClassLoader.loadClass(LazyStopWebappClassLoader.java:143)
>       at java.lang.Class.getDeclaredMethods0(Native Method)
>       at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
>       at java.lang.Class.privateGetPublicMethods(Class.java:2651)
>       at java.lang.Class.getMethods(Class.java:1467)
>       at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:125)
>       at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:65)
>       at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:29)
>       at
> org.apache.cxf.jaxrs.provider.ProviderFactory.setProviders(ProviderFactory.java:552)
>       at
> org.apache.cxf.jaxrs.provider.ProviderFactory.setUserProviders(ProviderFactory.java:766)
>       at
> com.tomitribe.wadler.wadl.WadlInstaller.appCreated(WadlInstaller.java:32)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:606)
> 
> 
> Andy.
> 
> 
> 
> --
> View this message in context: 
> http://openejb.979440.n4.nabble.com/LazyStopWebappClassLoader-LinkageError-tp4667885.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Reply via email to