[ https://issues.apache.org/jira/browse/ARIES-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amichai Rothman resolved ARIES-2041. ------------------------------------ Fix Version/s: rsa-2.0.0 Resolution: Fixed Thanks for the detailed stack traces! Note that the third stack trace is actually a CME in ServiceExportsRepository, which has been fixed separately in ARIES-2130. The other two should be fixed by using ConcurrentHashMaps. If you experience any other concurrency issues after the fix, feel free to open a new issue with updated stack traces. > ConcurrentModificationException's in TopologyManagerExport > ---------------------------------------------------------- > > Key: ARIES-2041 > URL: https://issues.apache.org/jira/browse/ARIES-2041 > Project: Aries > Issue Type: Bug > Components: Remote Service Admin > Affects Versions: rsa-1.16.0 > Reporter: Mads von Qualen > Priority: Major > Fix For: rsa-2.0.0 > > > {noformat} > java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445) > at java.util.HashMap$KeyIterator.next(HashMap.java:1469) > at > org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.addEPListener(TopologyManagerExport.java:228) > at > org.apache.aries.rsa.topologymanager.EndpointEventListenerTracker.modifiedService(EndpointEventListenerTracker.java:69) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:957) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:872) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:904) > at > org.apache.felix.framework.EventDispatcher$4.run(EventDispatcher.java:983) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:978) > at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > at > org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863) > at org.apache.felix.framework.Felix.access$000(Felix.java:111) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:440) > at > org.apache.felix.framework.ServiceRegistry.servicePropertiesModified(ServiceRegistry.java:623) > at > org.apache.felix.framework.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:133) > at > org.apache.aries.rsa.topologymanager.importer.local.EndpointListenerManager.updateRegistration(EndpointListenerManager.java:140) > at > org.apache.aries.rsa.topologymanager.importer.local.EndpointListenerManager.extendScope(EndpointListenerManager.java:112) > at > org.apache.aries.rsa.topologymanager.importer.local.EndpointListenerManager.addServiceInterest(EndpointListenerManager.java:147) > at > org.apache.aries.rsa.topologymanager.importer.local.RSFindHook.find(RSFindHook.java:64) > at > org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:2012) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.felix.framework.util.SecureAction.invokeServiceFindHook(SecureAction.java:1414) > at > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:3900) > at > org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:3947) > at > org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:414) > at > org.apache.felix.framework.BundleContextImpl.getServiceReference(BundleContextImpl.java:349) > at > org.apache.cxf.bus.osgi.CXFExtensionBundleListener$OSGiExtension.load(CXFExtensionBundleListener.java:137) > at > org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:198) > at > org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:333) > at > org.apache.cxf.bus.osgi.OSGiBeanLocator.getBeansOfType(OSGiBeanLocator.java:53) > at > org.apache.cxf.bus.extension.ExtensionManagerBus.getExtension(ExtensionManagerBus.java:186) > at > org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:269) > at > org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:85) > at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:64) > at > org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:170) > {noformat} > {noformat} > java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445) > at java.util.HashMap$KeyIterator.next(HashMap.java:1469) > at > org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.add(TopologyManagerExport.java:137) > at > org.apache.aries.rsa.topologymanager.Activator$RSATracker.addingService(Activator.java:176) > at > org.apache.aries.rsa.topologymanager.Activator$RSATracker.addingService(Activator.java:165) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:944) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:872) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:904) > at > org.apache.felix.framework.EventDispatcher$4.run(EventDispatcher.java:983) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:978) > at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > at > org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863) > at org.apache.felix.framework.Felix.registerService(Felix.java:3834) > at > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328) > at > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:302) > at > org.apache.aries.rsa.core.DistributionProviderTracker.addingService(DistributionProviderTracker.java:69) > at > org.apache.aries.rsa.core.DistributionProviderTracker.addingService(DistributionProviderTracker.java:40 > {noformat} > {noformat} > java.util.ConcurrentModificationException > at > java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) > at > java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:742) > at > org.apache.aries.rsa.topologymanager.exporter.ServiceExportsRepository.getAllEndpoints(ServiceExportsRepository.java:141) > at > org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.addEPListener(TopologyManagerExport.java:230) > at > org.apache.aries.rsa.topologymanager.EndpointEventListenerTracker.modifiedService(EndpointEventListenerTracker.java:69) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:957) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)