[
https://issues.apache.org/jira/browse/ARIES-2234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amichai Rothman updated ARIES-2234:
-----------------------------------
Issue Type: Bug (was: Task)
> Deadlock between TopologyManager.importService and
> RemoteServiceAdminCore.removeImportRegistration
> --------------------------------------------------------------------------------------------------
>
> Key: ARIES-2234
> URL: https://issues.apache.org/jira/browse/ARIES-2234
> Project: Aries
> Issue Type: Bug
> Components: Remote Service Admin
> Affects Versions: rsa-2.0.0
> Reporter: Amichai Rothman
> Priority: Major
>
> 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)