Hello,

I keep getting this deadlock when trying to use the single DOSGi bundle and
Zookeeper. 
   ID   State         Level  Name
[   0] [Active     ] [    0] System Bundle (2.0.4)
[   1] [Active     ] [    1] Distributed OSGi Distribution Software
Single-Bundle Distribution (1.1)
[   2] [Active     ] [    1] Apache Felix Bundle Repository (1.4.3)
[   3] [Active     ] [    1] Apache Felix iPOJO (1.4.0)
[   4] [Active     ] [    1] Apache Felix iPOJO Arch Command (1.4.0)
[   5] [Active     ] [    1] Apache Felix Shell Service (1.4.2)
[   6] [Active     ] [    1] Apache Felix Shell TUI (1.4.1)
[   7] [Active     ] [    1] osgi.cmpn (4.2.0.200908310645)

Removing the file load/org.apache.cxf.dosgi.discovery.zookeeper.cfg
(containing one line, zookeeper.host=127.0.0.1) removes the deadlock
problem.

I'm trying to run two servers on the same PC to test remoting. They have
different bundle pickup directories but the bundles are the same. After
restarting Zookeeper, I mostly can start the first one, but the second one
managed to start only one time of about 20 tries. At that one time, I was
able to install my test stuff and it worked fine.

Not sure what other info to include, please point me into a possible
direction if you can.



Found one Java-level deadlock:
=============================
"Configuration Updater":
  waiting to lock monitor 0x02fd32d4 (object 0x230dd668, a
org.apache.cxf.dosgi.dsw.hooks.CxfFindListenerHook),
  which is held by "FelixStartLevel"
"FelixStartLevel":
  waiting to lock monitor 0x02fd2ab4 (object 0x22a70498, a
org.osgi.util.tracker.ServiceTracker$Tracked),
  which is held by "Configuration Updater"

Java stack information for the threads listed above:
===================================================
"Configuration Updater":
        at
org.apache.cxf.dosgi.dsw.hooks.AbstractClientHook.lookupDiscoveryService(AbstractClientHook.java:201)
        - waiting to lock <0x230dd668> (a
org.apache.cxf.dosgi.dsw.hooks.CxfFindListenerHook)
        at
org.apache.cxf.dosgi.dsw.hooks.CxfFindListenerHook.find(CxfFindListenerHook.java:95)
        at org.apache.felix.framework.Felix$8.invokeHook(Felix.java:2840)
        at
org.apache.felix.framework.ServiceRegistry.invokeHook(ServiceRegistry.java:782)
        at
org.apache.felix.framework.Felix.getServiceReferences(Felix.java:2849)
        at
org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:2876)
        at
org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:310)
        at
org.osgi.util.tracker.ServiceTracker.getInitialReferences(ServiceTracker.java:310)
        at
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:274)
        - locked <0x22a70498> (a
org.osgi.util.tracker.ServiceTracker$Tracked)
        - locked <0x22a70468> (a org.osgi.util.tracker.ServiceTracker)
        at
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:228)
        at
org.apache.cxf.dosgi.discovery.zookeeper.DiscoveryDriver.init(DiscoveryDriver.java:93)
        at
org.apache.cxf.dosgi.discovery.zookeeper.DiscoveryDriver.<init>(DiscoveryDriver.java:69)
        at
org.apache.cxf.dosgi.discovery.zookeeper.Activator.createDriver(Activator.java:77)
        at
org.apache.cxf.dosgi.discovery.zookeeper.Activator.updated(Activator.java:64)
        - locked <0x230dbac0> (a
org.apache.cxf.dosgi.discovery.zookeeper.Activator)
        at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:959)
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)
"FelixStartLevel":
        at
org.osgi.util.tracker.ServiceTracker$Tracked.track(ServiceTracker.java:965)
        - waiting to lock <0x22a70498> (a
org.osgi.util.tracker.ServiceTracker$Tracked)
        at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:924)
        at
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864)
        at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
        at
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
        at
org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3619)
        at org.apache.felix.framework.Felix.access$000(Felix.java:39)
        at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:667)
        at
org.apache.felix.framework.ServiceRegistry.servicePropertiesModified(ServiceRegistry.java:505)
        at
org.apache.felix.framework.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:116)
        at
org.apache.cxf.dosgi.dsw.hooks.AbstractClientHook.lookupDiscoveryService(AbstractClientHook.java:218)
        - locked <0x230dd668> (a
org.apache.cxf.dosgi.dsw.hooks.CxfFindListenerHook)
        at
org.apache.cxf.dosgi.dsw.hooks.CxfFindListenerHook.find(CxfFindListenerHook.java:95)
        at org.apache.felix.framework.Felix$8.invokeHook(Felix.java:2840)
        at
org.apache.felix.framework.ServiceRegistry.invokeHook(ServiceRegistry.java:782)
        at
org.apache.felix.framework.Felix.getServiceReferences(Felix.java:2849)
        at
org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:2876)
        at
org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:310)
        at
org.springframework.osgi.util.OsgiServiceReferenceUtils.getServiceReferences(OsgiServiceReferenceUtils.java:159)
        at
org.springframework.osgi.util.OsgiServiceReferenceUtils.getServiceReferences(OsgiServiceReferenceUtils.java:195)
        at
org.springframework.osgi.util.OsgiListenerUtils.addServiceListener(OsgiListenerUtils.java:90)
        at
org.springframework.osgi.util.OsgiListenerUtils.addServiceListener(OsgiListenerUtils.java:62)
        at
org.springframework.osgi.service.importer.support.internal.collection.OsgiServiceCollection.afterPropertiesSet(OsgiServiceCollection.java:272)
        at
org.springframework.osgi.service.importer.support.OsgiServiceCollectionProxyFactoryBean.createProxy(OsgiServiceCollectionProxyFactoryBean.java
        at
org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObject(AbstractServiceImporterProxyFactoryBean.ja
        at
org.springframework.osgi.service.importer.support.OsgiServiceCollectionProxyFactoryBean.getObject(OsgiServiceCollectionProxyFactoryBean.java:1
        at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener.createListenersList(ContextLoaderListener.java:844)
        at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener.initListenerService(ContextLoaderListener.java:821)
        at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener.start(ContextLoaderListener.java:395)
        at
org.apache.cxf.dosgi.singlebundle.AggregatedActivator.startEmbeddedActivators(AggregatedActivator.java:115)
        at
org.apache.cxf.dosgi.singlebundle.AggregatedActivator.start(AggregatedActivator.java:46)
        at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:661)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1756)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1678)
        at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1124)
        at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
        at java.lang.Thread.run(Unknown Source)

Found 1 deadlock.
-- 
View this message in context: 
http://old.nabble.com/Deadlock-with-Zookeeper-tp27836835p27836835.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to