You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by infiniteuniverse <in...@gmail.com> on 2015/04/07 21:07:39 UTC

Fragment Causing Bundle Dependency Mismatch

I have a couple of bundles that have fragments and it seems that it's causing
a dependency chain mismatch even though both dependency chains point to the
same bundle/version. The mismatch only happens intermittently when starting
karaf, and when I debug it appears that one dependency chain is pointing to
the wrapped capability but the other is pointing to the raw capability, when
the error doesn't occur both chains are pointing to the wrapped capability. 
Is this a known issue with the felix resolver? How do I resolve it, I've
tried changing start levels and dependencies, but it doesn't seem to solve
the issue.  Below is the error I'm getting in the log:

2015-04-07 13:41:17,957 | ERROR | lixDispatchQueue |
FeatureDeploymentListener        | 24 - org.apache.karaf.deployer.features -
4.0.0.M1 | Unable to install features
org.osgi.service.resolver.ResolutionException: Uses constraint violation.
Unable to resolve resource org.mybundle.app.web.root
[org.mybundle.app.web.root/8.0.0] because it is exposed to package
'org.springframework.beans.factory.annotation' from resources
org.apache.servicemix.bundles.spring-beans
[org.apache.servicemix.bundles.spring-beans/4.1.1.RELEASE_3] and
org.apache.servicemix.bundles.spring-beans
[org.apache.servicemix.bundles.spring-beans/4.1.1.RELEASE_3] via two
dependency chains.

Chain 1:
  org.mybundle.app.web.root [org.mybundle.app.web.root/8.0.0]
    import:
(&(osgi.wiring.package=org.springframework.beans.factory.annotation)(version>=4.0.0)(!(version>=5.0.0)))
     |
    export: osgi.wiring.package:
org.springframework.beans.factory.annotation
  org.apache.servicemix.bundles.spring-beans
[org.apache.servicemix.bundles.spring-beans/4.1.1.RELEASE_3]

Chain 2:
  org.mybundle.app.web.root [org.mybundle.app.web.root/8.0.0]
    import:
(&(osgi.wiring.package=org.springframework.web.servlet.resource)(version>=4.0.0)(!(version>=5.0.0)))
     |
    export: osgi.wiring.package=org.springframework.web.servlet.resource;
uses:=org.springframework.web.context.support
  org.apache.servicemix.bundles.spring-webmvc
[org.apache.servicemix.bundles.spring-webmvc/4.1.1.RELEASE_3]
    import:
(&(osgi.wiring.package=org.springframework.web.context.support)(version>=4.1.1.RELEASE)(!(version>=4.2.0)))
     |
    export: osgi.wiring.package=org.springframework.web.context.support;
uses:=org.springframework.context.annotation
  org.apache.servicemix.bundles.spring-web
[org.apache.servicemix.bundles.spring-web/4.1.1.RELEASE_3]
    import:
(&(osgi.wiring.package=org.springframework.context.annotation)(version>=4.1.1.RELEASE)(!(version>=4.2.0)))
     |
    export: osgi.wiring.package=org.springframework.context.annotation;
uses:=org.springframework.beans.factory.annotation
  org.apache.servicemix.bundles.spring-context
[org.apache.servicemix.bundles.spring-context/4.1.1.RELEASE_3]
    import:
(&(osgi.wiring.package=org.springframework.beans.factory.annotation)(version>=4.1.1.RELEASE)(!(version>=4.2.0)))
     |
    export: osgi.wiring.package:
org.springframework.beans.factory.annotation
  org.apache.servicemix.bundles.spring-beans
[org.apache.servicemix.bundles.spring-beans/4.1.1.RELEASE_3]
        at
org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1290)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1402)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1402)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1402)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:260)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:186)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:252)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:951)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:857)[6:org.apache.karaf.features.core:4.0.0.M1]
        at
java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_31]
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_31]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_31]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_31]



--
View this message in context: http://karaf.922171.n3.nabble.com/Fragment-Causing-Bundle-Dependency-Mismatch-tp4039496.html
Sent from the Karaf - User mailing list archive at Nabble.com.