Just as an additional note, a lot of this code has since been revamped
on trunk. Hopefully we can release that not too long from now...

Cheers,

David

On 9 March 2010 15:57, Karl Pauls <[email protected]> wrote:
> Looks like somebody is using a service hook and is trying to get an
> internal lock. This is really dangerous as it is likely to cause
> deadlocks. Doesn't seem to be a felix problem but rather a cxf one...
>
> regards,
>
> Karl
>
> On Tue, Mar 9, 2010 at 3:57 PM, Norbert Somlai <[email protected]> wrote:
>>
>> 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]
>>
>>
>
>
>
> --
> Karl Pauls
> [email protected]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

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

Reply via email to