[ 
https://issues.apache.org/jira/browse/FELIX-4069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13663288#comment-13663288
 ] 

Adam Purkiss commented on FELIX-4069:
-------------------------------------

The error does not seem to occur and things seem ok at the moment although we 
will continue testing with this, I have not looked at the full change list from 
1.6.2 to this so I am assuming all should be good else where. Is there a eta on 
when this might make it to an official update? On a side not I had to skip the 
unit tests on my dev box when doing the build as I got a build failure during 
the tests . I have not looked into the test failure to see what is going on but 
for your information my dev box was saying:

[org.apache.felix.scr.integration.components.concurrency.C] (exit)
log level: 4 D=13:20:10,796 T=Thread[Thread-4,5,main]: [org.apache.felix.scr.int
egration.components.concurrency.C(21310)] Unset and deconfigured implementation
object for component org.apache.felix.scr.integration.components.concurrency.C i
n deleteComponent for reason Component disabled
log level: 4 D=13:20:10,796 T=Thread[Thread-4,5,main]: [org.apache.felix.scr.int
egration.components.concurrency.C(21310)] Deactivating dependency managers
log level: 4 D=13:20:10,796 T=Thread[Thread-4,5,main]: [org.apache.felix.scr.int
egration.components.concurrency.C(21310)] Disabling dependency managers

Results :

Tests run: 17, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8:16.128s
[INFO] Finished at: Tue May 21 13:27:10 EDT 2013
[INFO] Final Memory: 12M/247M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.
12:integration-test (default) on project org.apache.felix.scr: Execution default
 of goal org.apache.maven.plugins:maven-failsafe-plugin:2.12:integration-test fa
iled: The forked VM terminated without saying properly goodbye. VM crash or Syst
em.exit called ? -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutio
nException
                
> ConcurrentModificationException in ServiceFactoryComponentManager
> -----------------------------------------------------------------
>
>                 Key: FELIX-4069
>                 URL: https://issues.apache.org/jira/browse/FELIX-4069
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.6.2
>         Environment: Windows 7
>            Reporter: Adam Purkiss
>            Assignee: David Jencks
>             Fix For: scr-1.8.0
>
>
> During startup of our application that is heavily dependant on DS and felix 
> we occasionally see the following error:
> ERROR: Bundle DwsCoreImpl.DwsCoreLogProviderImpl [37] EventDispatcher: Error 
> during dispatch. (java.util.ConcurrentModificationException)
> java.util.ConcurrentModificationException
>         at 
> java.util.IdentityHashMap$IdentityHashMapIterator.nextIndex(IdentityHashMap.java:732)
>         at 
> java.util.IdentityHashMap$KeyIterator.next(IdentityHashMap.java:822)
>         at 
> org.apache.felix.scr.impl.manager.ServiceFactoryComponentManager.invokeBindMethod(ServiceFactoryComponentManager.java:204)
>         at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:402)
>         at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159)
>         at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)
>         at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419)
>         at org.apache.felix.framework.Felix.registerService(Felix.java:3423)
>         at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:261)
>         at 
> org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:328)
>         at 
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:158)
>         at 
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:113)
>         at 
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:261)
>         at 
> org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:179)
>         at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
>         at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
>         at java.lang.Thread.run(Thread.java:722)
> FrameworkEvent ERROR
> java.util.ConcurrentModificationException
>         at 
> java.util.IdentityHashMap$IdentityHashMapIterator.nextIndex(IdentityHashMap.java:732)
>         at 
> java.util.IdentityHashMap$KeyIterator.next(IdentityHashMap.java:822)
>         at 
> org.apache.felix.scr.impl.manager.ServiceFactoryComponentManager.invokeBindMethod(ServiceFactoryComponentManager.java:204)
>         at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:402)
>         at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159)
>         at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)
>         at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419)
>         at org.apache.felix.framework.Felix.registerService(Felix.java:3423)
>         at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550)
>         at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:261)
>         at 
> org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:328)
>         at 
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:158)
>         at 
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:113)
>         at 
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:261)
>         at 
> org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:179)
>         at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
>         at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
>         at java.lang.Thread.run(Thread.java:722)
> Looking at the ServiceFactoryComponentManager we see there is no protection 
> around the iteration over components which makes it no surprise that the code 
> is not thread safe and is suffering from concurrent modification. Although 
> most of our system seems to be working this exception at startup is cause for 
> wider concern on how thread safe the code is and if later on when we have 
> even more services we will start seeing bigger issues that mean ditching scr 
> and using some other solution.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to