[
https://issues.apache.org/jira/browse/KARAF-3593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14352703#comment-14352703
]
Michael Mangeng commented on KARAF-3593:
----------------------------------------
Oh and i forgot to mention: This does NOT happen if i simply deploy the plugin
into the "deploy" directory when the instance is already running. It occurs
only if i startup an instance (e.g. instance:start test) and all bundles are in
the deploy directory already and the instance was started up before.
> Deadlock with Declarative Service & ManagedService
> --------------------------------------------------
>
> Key: KARAF-3593
> URL: https://issues.apache.org/jira/browse/KARAF-3593
> Project: Karaf
> Issue Type: Bug
> Components: karaf-core
> Affects Versions: 3.0.3
> Environment: linux/debian/ JDK 1.8
> Reporter: Michael Mangeng
>
> Hi all,
> 'm currently experimenting with karaf and it is stuck while bootstrapping a
> service which is started via DS and is a ManagedService.
> The service stays in "Starting" state. If i take a look at the Thread Listing
> i see the following 2 threads which are waiting for something. Looks like
> the're waiting for each other to release some resources.
> greetings,
> Michael
> "CM Configuration Updater (ManagedService Update: pid=[at.vis.karaftest])"
> Id=14 in WAITING on lock=[Ljava.lang.Object;@5cc23b
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:503)
> at org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:5039)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:2111)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2333)
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)
> at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.initDependencyManagers(AbstractComponentManager.java:1081)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1116)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:807)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:777)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:308)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:219)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:320)
> at org.apache.felix.framework.Felix.getService(Felix.java:3568)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:468)
> at
> org.apache.felix.cm.impl.helper.BaseTracker.getRealService(BaseTracker.java:200)
> at
> org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:98)
> at
> org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:81)
> at
> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1448)
> at
> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1404)
> at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
> at java.lang.Thread.run(Thread.java:745)
>
>
> "FelixStartLevel" Id=11 in WAITING on
> lock=org.apache.felix.framework.ServiceRegistry@17ba8d4
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:503)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:281)
> at org.apache.felix.framework.Felix.getService(Felix.java:3568)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:468)
> at
> org.apache.felix.metatype.internal.ManagedServiceTracker.addingService(ManagedServiceTracker.java:52)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419)
> at org.apache.felix.framework.Felix.registerService(Felix.java:3423)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:1003)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:992)
> at
> org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:134)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:1044)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:841)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:419)
> at
> org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:376)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:172)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:120)
> at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:258)
> at org.apache.felix.scr.impl.Activator.access$000(Activator.java:45)
> at
> org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:185)
> at
> org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
> at
> org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
> at
> org.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:192)
> at
> org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467)
> at
> org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:414)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
> at
> org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
> at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
> at java.lang.Thread.run(Thread.java:745)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)