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)