Uploaded image for project: 'CXF Distributed OSGi (Retired)'
  1. CXF Distributed OSGi (Retired)
  2. DOSGI-125

The dead lock in TopologyManagerImport

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.1
    • 1.4.0
    • common
    • Unknown

    Description

      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)

      Attachments

        Activity

          People

            cschneider Christian Schneider
            py-kenny kenny
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: