ops4j / org.ops4j.pax.cdi

Contexts and Dependency Injection for OSGi
Apache License 2.0
34 stars 26 forks source link

java.lang.ClassCastException: org.jboss.weld.bean.proxy.ProxyMethodHandler cannot be cast to org.jboss.weld.bean.proxy.ProxyMethodHandler [PAXCDI-206] #251

Closed ops4j-issues closed 8 years ago

ops4j-issues commented 8 years ago

Charles Moulliard created PAXCDI-206

When the CDI extension of RESTeasy is deployed, then I get this error

More detailed log is available here : https://gist.github.com/cmoulliard/c1a2ece945ce7bb52f4a

2015-12-01 08:49:45,094 | ERROR | FelixStartLevel  | AbstractCdiContainer             | 271 - org.ops4j.pax.cdi.spi - 0.11.0 |
java.lang.ClassCastException: org.jboss.weld.bean.proxy.ProxyMethodHandler cannot be cast to org.jboss.weld.bean.proxy.ProxyMethodHandler
    at org.ops4j.pax.cdi.extension.impl.OsgiExtension$Proxy$_$$_WeldClientProxy.setHandler(Unknown Source)[283:io.apiman.resteasy-cdi:2.3.10.Final_1]
    at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:320)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyFactory.create(ClientProxyFactory.java:83)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:198)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:188)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyProvider.access$100(ClientProxyProvider.java:46)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyProvider$CreateClientProxy.load(ClientProxyProvider.java:57)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyProvider$CreateClientProxy.load(ClientProxyProvider.java:53)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)[279:com.google.guava:18.0.0]
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)[279:com.google.guava:18.0.0]
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)[279:com.google.guava:18.0.0]
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)[279:com.google.guava:18.0.0]
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937)[279:com.google.guava:18.0.0]
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)[279:com.google.guava:18.0.0]
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)[279:com.google.guava:18.0.0]
    at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:49)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:74)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:222)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:736)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:842)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:378)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:389)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.ResourceInjector$1.proceed(ResourceInjector.java:70)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:72)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:121)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:159)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstanceStrategy$ApplicationScopedContextualInstanceStrategy.get(ContextualInstanceStrategy.java:141)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:742)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.AbstractMemberProducer.getReceiver(AbstractMemberProducer.java:123)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:158)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:181)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:70)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:742)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:842)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:378)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:389)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.ResourceInjector$1.proceed(ResourceInjector.java:70)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:72)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:121)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.ops4j.pax.cdi.extension.impl.client.OsgiInjectionTarget.inject(OsgiInjectionTarget.java:68)[273:org.ops4j.pax.cdi.extension:0.11.0]
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:159)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:70)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:742)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:842)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:378)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:389)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.ResourceInjector$1.proceed(ResourceInjector.java:70)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:72)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:121)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:159)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstanceStrategy$ApplicationScopedContextualInstanceStrategy.get(ContextualInstanceStrategy.java:141)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:67)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverMethodImpl.getReceiver(ObserverMethodImpl.java:338)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverMethodImpl.getReceiverIfExists(ObserverMethodImpl.java:325)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:283)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:264)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:136)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:673)[275:org.jboss.weld.osgi-bundle:2.3.0.Final]
    at org.ops4j.pax.cdi.spi.AbstractCdiContainer$1.call(AbstractCdiContainer.java:155)[271:org.ops4j.pax.cdi.spi:0.11.0]
    at org.ops4j.pax.cdi.spi.AbstractCdiContainer$1.call(AbstractCdiContainer.java:147)[271:org.ops4j.pax.cdi.spi:0.11.0]
    at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)[32:org.ops4j.pax.swissbox.core:1.8.2]
    at org.ops4j.pax.cdi.spi.AbstractCdiContainer.finishStartup(AbstractCdiContainer.java:146)[271:org.ops4j.pax.cdi.spi:0.11.0]
    at org.ops4j.pax.cdi.spi.AbstractCdiContainer.start(AbstractCdiContainer.java:91)[271:org.ops4j.pax.cdi.spi:0.11.0]
    at org.ops4j.pax.cdi.extender.impl.CdiExtender.createContainer(CdiExtender.java:132)[270:org.ops4j.pax.cdi.extender:0.11.0]
    at org.ops4j.pax.cdi.extender.impl.CdiExtender.addingBundle(CdiExtender.java:86)[270:org.ops4j.pax.cdi.extender:0.11.0]
    at org.ops4j.pax.cdi.extender.impl.CdiExtender.addingBundle(CdiExtender.java:44)[270:org.ops4j.pax.cdi.extender:0.11.0]
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467)[karaf.jar:2.4.0.redhat-621071]
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)[karaf.jar:2.4.0.redhat-621071]
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.4.0.redhat-621071]
    at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)[karaf.jar:2.4.0.redhat-621071]
    at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)[karaf.jar:2.4.0.redhat-621071]
    at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:869)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:790)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:515)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.4.1.jar:]
    at java.lang.Thread.run(Thread.java:745)[:1.8.0_45]

Votes: 0, Watches: 1

ops4j-issues commented 8 years ago

Charles Moulliard commented

Same classes were loaded twice by 2 different bundles