Amichai Rothman created ARIES-2234:
--------------------------------------
Summary: Deadlock between TopologyManager.importService and
RemoteServiceAdminCore.removeImportRegistration
Key: ARIES-2234
URL: https://issues.apache.org/jira/browse/ARIES-2234
Project: Aries
Issue Type: Task
Components: Remote Service Admin
Affects Versions: rsa-2.0.0
Reporter: Amichai Rothman
Found one Java-level deadlock:
=============================
"main":
waiting to lock monitor 0x0000753f1c006a80 (object 0x00000000e065f958, a
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport),
which is held by "TopologyManagerImport-1"
"TopologyManagerImport-1":
waiting to lock monitor 0x0000753f1c006980 (object 0x00000000e065fbc8, a
java.util.LinkedHashMap),
which is held by "main"
Java stack information for the threads listed above:
===================================================
"main":
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.remoteAdminEvent(TopologyManagerImport.java:116)
- waiting to lock <0x00000000e065f958> (a
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport)
at
org.apache.aries.rsa.core.event.EventProducer.notifyListeners(EventProducer.java:108)
at
org.apache.aries.rsa.core.event.EventProducer.notify(EventProducer.java:88)
at
org.apache.aries.rsa.core.event.EventProducer.notifyRemoval(EventProducer.java:74)
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.removeImportRegistration(RemoteServiceAdminCore.java:519)
- locked <0x00000000e065fbc8> (a java.util.LinkedHashMap)
at
org.apache.aries.rsa.core.RemoteServiceAdminCore$1.onClose(RemoteServiceAdminCore.java:104)
at
org.apache.aries.rsa.core.ImportRegistrationImpl.lambda$close$0(ImportRegistrationImpl.java:219)
at
org.apache.aries.rsa.core.ImportRegistrationImpl$$Lambda$751/0x000000084092a840.accept(Unknown
Source)
at
java.util.concurrent.ConcurrentHashMap$KeySetView.forEach([email protected]/ConcurrentHashMap.java:4696)
at
java.util.Collections$SetFromMap.forEach([email protected]/Collections.java:5581)
at
org.apache.aries.rsa.core.ImportRegistrationImpl.close(ImportRegistrationImpl.java:219)
at
org.osgi.test.cases.remoteserviceadmin.junit.RemoteServiceAdminTest.testExportImportManuallyMultipleVersions(RemoteServiceAdminTest.java:482)
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native
Method)
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:62)
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke([email protected]/Method.java:566)
at junit.framework.TestCase.runTest(TestCase.java:177)
at junit.framework.TestCase.runBare(TestCase.java:142)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:130)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)
at aQute.junit.Activator.test(Activator.java:354)
at aQute.junit.Activator.automatic(Activator.java:266)
at aQute.junit.Activator.run(Activator.java:188)
at
java.util.concurrent.Executors$RunnableAdapter.call([email protected]/Executors.java:515)
at aQute.launcher.Launcher.handleMainCallable(Launcher.java:465)
at aQute.launcher.Launcher.launch(Launcher.java:438)
at aQute.launcher.Launcher.run(Launcher.java:186)
at aQute.launcher.Launcher.main(Launcher.java:162)
at
java.lang.invoke.LambdaForm$DMH/0x0000000840062c40.invokeStaticInit([email protected]/LambdaForm$DMH)
at
java.lang.invoke.LambdaForm$MH/0x0000000840067c40.invoke([email protected]/LambdaForm$MH)
at
java.lang.invoke.LambdaForm$MH/0x0000000840067840.invoke_MT([email protected]/LambdaForm$MH)
at
aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:170)
at
aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:135)
at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:52)
"TopologyManagerImport-1":
at org.apache.aries.rsa.core.RemoteServiceAdminCore.
(RemoteServiceAdminCore.java:408)
- waiting to lock <0x00000000e065fbc8> (a java.util.LinkedHashMap)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.lambda$importService$1(RemoteServiceAdminInstance.java:85)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$$Lambda$741/0x0000000840926040.run(Unknown
Source)
at java.security.AccessController.doPrivileged([email protected]/Native
Method)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.importService(RemoteServiceAdminInstance.java:84)
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.importService(TopologyManagerImport.java:198)
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.lambda$synchronizeImports$5(TopologyManagerImport.java:181)
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport$$Lambda$750/0x0000000840929c40.accept(Unknown
Source)
at java.util.HashMap$KeySet.forEach([email protected]/HashMap.java:929)
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.synchronizeImports(TopologyManagerImport.java:179)
- locked <0x00000000e065f958> (a
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport)
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport.lambda$synchronizeImportsAsync$1(TopologyManagerImport.java:127)
at
org.apache.aries.rsa.topologymanager.importer.TopologyManagerImport$$Lambda$744/0x0000000840927c40.run(Unknown
Source)
at
java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
at java.lang.Thread.run([email protected]/Thread.java:829)
Found 1 deadlock.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)