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]

