Hi all, here my "workaround" for this: Because I know I will be using eventadmin (its listed in bootFeatures of my dist as well), I make sure its started before features.core:
startup.properties mvn\:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.0.0.M3 = 14 mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.0.0.M3 = 15 not ideal, but works. Fabian On Tue, Jun 9, 2015 at 11:22 AM, Guillaume Nodet <[email protected]> wrote: > Yes, this is a tricky use case as the features service needs to update > itself. > However, the code is supposed to support this use case. The fix should be > easy, it's just a matter of forcing the load of all classes before updating > the features-core bundle. > > 2015-06-09 11:14 GMT+02:00 Fabian Lange <[email protected]>: > > > Hi Guillaume, > > ok, then this seems to be the reason: > > > > 2015-06-09 11:10:31,039 | INFO | pool-16-thread-1 | FeaturesServiceImpl > > | 6 - org.apache.karaf.features.core - 4.0.0.M3 | > > org.apache.karaf.features.command / 4.0.0.M3 (Wired to > > org.apache.karaf.features.core/4.0.0.M3 which is being refreshed) > > 2015-06-09 11:10:31,039 | INFO | pool-16-thread-1 | FeaturesServiceImpl > > | 6 - org.apache.karaf.features.core - 4.0.0.M3 | > > org.apache.karaf.features.core / 4.0.0.M3 (Should be wired to: > > org.apache.karaf.services.eventadmin/4.0.0.M3 (through > > [org.apache.karaf.features.core/4.0.0.M3] osgi.wiring.package; > > > > > filter:="(&(osgi.wiring.package=org.osgi.service.event)(version>=1.3.0)(!(version>=2.0.0)))"; > > resolution:=optional)) > > 2015 > > > > Will report this in an issue. > > Fabian > > > > On Tue, Jun 9, 2015 at 11:06 AM, Guillaume Nodet <[email protected]> > > wrote: > > > > > Yes, I saw the stack trace and it says, "because the bundle wiring for > > > org.apache.karaf.features.core > > > is no longer valid", which means that the bundle (features-core in this > > > case) has been refreshed in the mean time. Please raise a JIRA issue > > with > > > the needed steps to reproduce the problem. > > > > > > 2015-06-09 11:01 GMT+02:00 Fabian Lange <[email protected]>: > > > > > > > Hi Guillaume, > > > > have you checked the stack trace at the end? > > > > > > > > 2015-06-09 09:00:47,893 | ERROR | pool-2-thread-1 | my-bundle > > > > | 7 - my-bundle - 1.0.0.SNAPSHOT | [my-bundle(0)] The activate > > method > > > > has thrown an exception > > > > java.lang.NoClassDefFoundError: > org/apache/karaf/features/FeatureEvent > > > > at > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:851)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > at > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1061)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > at > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:960)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > at > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > > > > at > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_40] > > > > at > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_40] > > > > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > > > > Caused by: java.lang.ClassNotFoundException: Unable to load class > > > > 'org.apache.karaf.features.FeatureEvent' because the bundle wiring > for > > > > org.apache.karaf.features.core is no longer valid. > > > > at > > > > > > > > > > > > > > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1523)[org.apache.felix.framework-5.0.0.jar:] > > > > at > > > > > > > > > > > > > > org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.0.0.jar:] > > > > at > > > > > > > > > > > > > > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998)[org.apache.felix.framework-5.0.0.jar:] > > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_40] > > > > ... 7 more > > > > > > > > this seems to interrupt the lifecycle of my activation. > > > > downgraded to m2 -> works. Back to m3 -> broken again > > > > Fabian > > > > > > > > > > > > On Tue, Jun 9, 2015 at 10:07 AM, Guillaume Nodet <[email protected]> > > > > wrote: > > > > > > > > > It's not a dependency issue, its a problem with a bundle being > > stopped > > > > > while still doing some work. > > > > > Can this be replicated ? > > > > > > > > > > > > > > > 2015-06-09 9:06 GMT+02:00 Fabian Lange < > [email protected] > > >: > > > > > > > > > > > Hi all, > > > > > > before raising an issue, am I missing a new dependency here? > > > > > > My config worked on M2, now I get the following on startup. > > > > > > > > > > > > Fabian > > > > > > > > > > > > > > > > > > java.lang.IllegalStateException: Invalid BundleContext. > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:511)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleContextImpl.getBundle(BundleContextImpl.java:114)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.ComponentRegistry.checkComponentName(ComponentRegistry.java:357)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:258)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:158)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:120)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:258)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.Activator.access$000(Activator.java:45)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:185)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:479)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:414)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)[14:org.apache.felix.scr:1.8.2] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:913)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:834)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:516)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4520)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.Felix.startBundle(Felix.java:2166)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleImpl.start(BundleImpl.java:964)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1171)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:826)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1061)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:960)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_40] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_40] > > > > > > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > > > > > > > > > > > > > > > > > > java.lang.NoClassDefFoundError: > > > org/apache/karaf/features/FeatureEvent > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:851)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1061)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:960)[6:org.apache.karaf.features.core:4.0.0.M3] > > > > > > at > > > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_40] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_40] > > > > > > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > > > > > > Caused by: java.lang.ClassNotFoundException: Unable to load class > > > > > > 'org.apache.karaf.features.FeatureEvent' because the bundle > wiring > > > for > > > > > > org.apache.karaf.features.core is no longer valid. > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1523)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998)[org.apache.felix.framework-5.0.0.jar:] > > > > > > at > java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_40] > > > > > > ... 7 more > > > > > > > > > > > > > > > > > > > > >
