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)

Reply via email to