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)