[ https://issues.apache.org/jira/browse/DOSGI-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schneider resolved DOSGI-125. --------------------------------------- Resolution: Fixed Fix Version/s: 1.4 Assignee: Christian Schneider Resolving issue as we have no feedback. Please reopen if the deadlock still occurs. > The dead lock in TopologyManagerImport > -------------------------------------- > > Key: DOSGI-125 > URL: https://issues.apache.org/jira/browse/DOSGI-125 > Project: CXF Distributed OSGi > Issue Type: Bug > Components: DSW > Affects Versions: 1.3.1 > Reporter: kenny > Assignee: Christian Schneider > Labels: dosgi-cxf > Fix For: 1.4 > > > Hi,All > I met dead lock!!! > 2012-10-21 12:38:27,643 pool-2-thread-1 INFO service.RemoteServiceAdminCore > - importService() Endpoint: {endpoint.id=http://127.0.0.1:9002/nns, > objectClass=[Ljava.lang.String;@1f4ea9d, service.imported=true, > service.imported.configs=org.apache.cxf.ws} > 2012-10-21 12:38:27,645 pool-2-thread-1 INFO service.RemoteServiceAdminCore > - Interfaces: [com.xx.ngoss.einms.nserver.nns.common.service.INNSService] > 2012-10-21 12:38:27,647 pool-2-thread-1 INFO service.RemoteServiceAdminCore > - Proxifying interface : > com.xx.ngoss.einms.nserver.nns.common.service.INNSService > 2012-10-21 12:38:27 org.apache.cxf.dosgi.topologymanager.ListenerHookImpl > removed > INFO: ListenerHookImpl: removed: > [org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager$DependencyServiceListener@e11a87(objectClass=com.xx.ngoss.einms.nserver.nns.common.service.INNSService)] > 2012-10-21 12:38:27 org.apache.cxf.dosgi.topologymanager.ListenerHookImpl > removed > INFO: (objectClass=com.xx.ngoss.einms.nserver.nns.common.service.INNSService) > When running here, appeared dead lock, > jconsole message as follows: > Thread:SpringOsgiExtenderThread-7 > 名称: SpringOsgiExtenderThread-7 > 状态:BLOCKED 在 java.util.HashMap@16d383a 上,owner: pool-2-thread-1 > 阻塞总数:10 等待总数: 0 > 堆栈追踪: > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.addImportableService(TopologyManagerImport.java:183) > org.apache.cxf.dosgi.topologymanager.EndpointListenerImpl.endpointAdded(EndpointListenerImpl.java:113) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery.triggerCallbacks(LocalDiscovery.java:221) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery.triggerCallbacks(LocalDiscovery.java:230) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery.registerTracker(LocalDiscovery.java:112) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery$1.modifiedService(LocalDiscovery.java:79) > org.osgi.util.tracker.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:909) > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237) > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840) > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933) > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:756) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$1.run(ServiceRegistry.java:715) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:713) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:171) > org.apache.cxf.dosgi.topologymanager.EndpointListenerImpl.updateRegistration(EndpointListenerImpl.java:101) > org.apache.cxf.dosgi.topologymanager.EndpointListenerImpl.extendScope(EndpointListenerImpl.java:68) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.addServiceInterest(TopologyManagerImport.java:125) > - 已锁定 java.util.HashMap@196c8c2 > org.apache.cxf.dosgi.topologymanager.ListenerHookImpl.added(ListenerHookImpl.java:94) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerHooksPrivileged(ServiceRegistry.java:1269) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$5.run(ServiceRegistry.java:1238) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerHooks(ServiceRegistry.java:1236) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.addServiceListener(ServiceRegistry.java:651) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.addServiceListener(BundleContextImpl.java:242) > org.springframework.osgi.util.OsgiListenerUtils.registerListener(OsgiListenerUtils.java:99) > org.springframework.osgi.util.OsgiListenerUtils.addServiceListener(OsgiListenerUtils.java:86) > org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager.register(DependencyServiceManager.java:313) > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:257) > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:169) > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175) > org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:716) > java.lang.Thread.run(Unknown Source) > Thread:pool-2-thread-1 > 名称: pool-2-thread-1 > 状态:BLOCKED 在 java.util.HashMap@196c8c2 上,owner: SpringOsgiExtenderThread-7 > 阻塞总数:2 等待总数: 0 > 堆栈追踪: > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.removeServiceInterest(TopologyManagerImport.java:136) > org.apache.cxf.dosgi.topologymanager.ListenerHookImpl.removed(ListenerHookImpl.java:109) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerHooksPrivileged(ServiceRegistry.java:1271) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$5.run(ServiceRegistry.java:1238) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerHooks(ServiceRegistry.java:1236) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.removeServiceListener(ServiceRegistry.java:680) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.removeServiceListener(BundleContextImpl.java:284) > org.springframework.osgi.util.OsgiListenerUtils.removeServiceListener(OsgiListenerUtils.java:190) > org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager.deregister(DependencyServiceManager.java:342) > org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager$DependencyServiceListener.serviceChanged(DependencyServiceManager.java:115) > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933) > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:756) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$1.run(ServiceRegistry.java:715) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:713) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:525) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.proxifyMatchingInterface(RemoteServiceAdminCore.java:449) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.importService(RemoteServiceAdminCore.java:405) > - 已锁定 java.util.LinkedHashMap@130d50a > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$2.run(RemoteServiceAdminInstance.java:120) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$2.run(RemoteServiceAdminInstance.java:114) > java.security.AccessController.doPrivileged(Native Method) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.importService(RemoteServiceAdminInstance.java:114) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.importService(TopologyManagerImport.java:321) > - 已锁定 org.apache.cxf.dosgi.topologymanager.RemoteServiceAdminList@f2bc8d > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.importAllServicesStrategy(TopologyManagerImport.java:246) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.access$300(TopologyManagerImport.java:41) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport$1.run(TopologyManagerImport.java:204) > - 已锁定 java.util.HashMap@16d383a > - 已锁定 java.util.HashMap@3905e3 > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) > java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > java.lang.Thread.run(Unknown Source) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira