Johannes Utzig created ARIES-1577:
-------------------------------------

             Summary: Deadlock in TopologyManagerImport
                 Key: ARIES-1577
                 URL: https://issues.apache.org/jira/browse/ARIES-1577
             Project: Aries
          Issue Type: Bug
          Components: Remote Service Admin
    Affects Versions: rsa-1.8.0
            Reporter: Johannes Utzig


TopologyManagerImport caused a deadlock. See attached stack information (I'll 
try to create a pull request)

{code:java}Found one Java-level deadlock:
=============================
"pool-107-thread-2":
  waiting to lock monitor 0x0000000036016928 (object 0x00000006c276e118, a 
java.util.HashMap),
  which is held by "pool-107-thread-1"
"pool-107-thread-1":
  waiting to lock monitor 0x00000000342829d8 (object 0x00000006cca8bb38, a 
java.util.concurrent.ConcurrentHashMap),
  which is held by "Thread-74"
"Thread-74":
  waiting to lock monitor 0x0000000036016928 (object 0x00000006c276e118, a 
java.util.HashMap),
  which is held by "pool-107-thread-1"

Java stack information for the threads listed above:
===================================================
"pool-107-thread-2":
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.unexportNotAvailableServices(TopologyManagerImport.java:214)
    - waiting to lock <0x00000006c276e118> (a java.util.HashMap)
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.access$0(TopologyManagerImport.java:212)
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport$1.run(TopologyManagerImport.java:202)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
"pool-107-thread-1":
    at 
org.jboss.osgi.framework.internal.FrameworkEventsPlugin.fireServiceEvent(FrameworkEventsPlugin.java:479)
    - waiting to lock <0x00000006cca8bb38> (a 
java.util.concurrent.ConcurrentHashMap)
    at 
org.jboss.osgi.framework.internal.ServiceManagerPlugin.registerService(ServiceManagerPlugin.java:201)
    at 
org.jboss.osgi.framework.internal.AbstractBundleContext.registerService(AbstractBundleContext.java:301)
    at 
org.jboss.osgi.framework.internal.AbstractBundleContext.registerService(AbstractBundleContext.java:293)
    at 
org.apache.aries.rsa.core.RemoteServiceAdminCore.exposeServiceFactory(RemoteServiceAdminCore.java:421)
    at 
org.apache.aries.rsa.core.RemoteServiceAdminCore.importService(RemoteServiceAdminCore.java:375)
    - locked <0x00000006c274bb50> (a java.util.LinkedHashMap)
    at 
org.apache.aries.rsa.core.RemoteServiceAdminInstance$2.run(RemoteServiceAdminInstance.java:80)
    at 
org.apache.aries.rsa.core.RemoteServiceAdminInstance$2.run(RemoteServiceAdminInstance.java:1)
    at java.security.AccessController.doPrivileged(Native Method)
    at 
org.apache.aries.rsa.core.RemoteServiceAdminInstance.importService(RemoteServiceAdminInstance.java:78)
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.importService(TopologyManagerImport.java:288)
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.importServices(TopologyManagerImport.java:252)
    - locked <0x00000006c276e118> (a java.util.HashMap)
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.access$1(TopologyManagerImport.java:244)
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport$1.run(TopologyManagerImport.java:203)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
"Thread-74":
    at 
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.removeServiceInterest(TopologyManagerImport.java:129)
    - waiting to lock <0x00000006c276e118> (a java.util.HashMap)
    at 
org.apache.aries.rsa.topologymanager.importer.ListenerHookImpl.removed(ListenerHookImpl.java:103)
    at 
org.jboss.osgi.framework.internal.FrameworkEventsPlugin.removeServiceListener(FrameworkEventsPlugin.java:304)
    - locked <0x00000006cca8bb38> (a java.util.concurrent.ConcurrentHashMap)
    at 
org.jboss.osgi.framework.internal.AbstractBundleContext.removeServiceListener(AbstractBundleContext.java:262)
    at 
org.apache.felix.scr.impl.manager.ServiceTracker.close(ServiceTracker.java:400)
    - locked <0x000000072591b008> (a 
org.apache.felix.scr.impl.manager.ServiceTracker)
    at 
org.apache.felix.scr.impl.manager.DependencyManager.unregisterServiceListener(DependencyManager.java:1972)
    at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.disableDependencyManagers(AbstractComponentManager.java:1352)
    at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:912)
    at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:883)
    at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:580)
    at 
org.apache.felix.scr.impl.config.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:406)
    at 
org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:335)
    at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:313)
    at org.apache.felix.scr.impl.Activator.access$300(Activator.java:45)
    at 
org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:198)
    at 
org.apache.felix.utils.extender.AbstractExtender$2.run(AbstractExtender.java:290)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at 
org.apache.felix.utils.extender.AbstractExtender.destroyExtension(AbstractExtender.java:312)
    at 
org.apache.felix.utils.extender.AbstractExtender.bundleChanged(AbstractExtender.java:186)
    at 
org.jboss.osgi.framework.internal.FrameworkEventsPlugin.fireBundleEvent(FrameworkEventsPlugin.java:385)
    at 
org.jboss.osgi.framework.internal.AbstractBundleState.fireBundleEvent(AbstractBundleState.java:196)
    at 
org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:190)
    at 
org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:172)
    at 
org.jboss.osgi.framework.internal.HostBundleState.stopInternal(HostBundleState.java:379)
    at 
org.jboss.osgi.framework.internal.AbstractBundleState.stop(AbstractBundleState.java:502)
    at com.seeburger.rosgi.test.Activator$2.run(Activator.java:72)
    at java.lang.Thread.run(Thread.java:745)

Found 1 deadlock.{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to