[jboss-osgi-issues] [JBoss JIRA] (JBOSGI-632) ConcurrentModificationException in BundleContext.getServiceReferences()

Thomas Diesler (JIRA) jira-events at lists.jboss.org
Wed Apr 17 08:52:54 EDT 2013


     [ https://issues.jboss.org/browse/JBOSGI-632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Diesler resolved JBOSGI-632.
-----------------------------------

    Resolution: Done


Fixed in jbosgi-framework-3.0.0.CR17
                
> ConcurrentModificationException in BundleContext.getServiceReferences()
> -----------------------------------------------------------------------
>
>                 Key: JBOSGI-632
>                 URL: https://issues.jboss.org/browse/JBOSGI-632
>             Project: JBoss OSGi
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Core Framework
>         Environment: Linux and Windows
>            Reporter: Ed Roberts
>            Assignee: Thomas Diesler
>             Fix For: JBossOSGi 2.0.0
>
>
> Starting up JBoss AS with a number of deployments, some of which use blueprint to activate services. One of the blueprint activations exposes the concurrency issue
> {code}
> 2013-02-22 15:57:08,193 ERROR [org.eclipse.gemini.blueprint.extender.internal.blueprint.activator.BlueprintLoaderListener](EclipseGeminiBlueprintExtenderThread-29) Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=com.saaconsultants.x, config=bundle://com.saaconsultants.x-170-0-0/OSGI-INF/blueprint/private-beans.xml,bundle://com.saaconsultants.x-170-0-0/OSGI-INF/blueprint/osgi-context.xml,bundle://com.saaconsultants.x-170-0-0/OSGI-INF/blueprint/ee-beans.xml)): org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'otEclInterpreterServiceBean' defined in OSGi resource[bundle://com.saaconsultants.x-170-0-0/OSGI-INF/blueprint/private-beans.xml|bnd.id=170|bnd.sym=com.saaconsultants.x]: Cannot resolve reference to bean 'xService' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xService': FactoryBean threw exception on object creation; nested exception is java.util.ConcurrentModificationException
> 	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
> 	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
> 	at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630)
> 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
> 	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60)
> 	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325)
> 	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
> 	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290)
> 	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xService': FactoryBean threw exception on object creation; nested exception is java.util.ConcurrentModificationException
> 	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149)
> 	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1442)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:248)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
> 	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
> 	... 19 more
> Caused by: java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:894)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:922)
> 	at org.jboss.osgi.framework.internal.ServiceManagerImpl.getServiceReferencesInternal(ServiceManagerImpl.java:205)
> 	at org.jboss.osgi.framework.internal.ServiceManagerImpl.getServiceReferences(ServiceManagerImpl.java:189)
> 	at org.jboss.osgi.framework.internal.AbstractBundleContext.getServiceReferences(AbstractBundleContext.java:344)
> 	at org.eclipse.gemini.blueprint.util.OsgiServiceReferenceUtils.getServiceReferences(OsgiServiceReferenceUtils.java:155)
> 	at org.eclipse.gemini.blueprint.util.OsgiServiceReferenceUtils.getServiceReference(OsgiServiceReferenceUtils.java:70)
> 	at org.eclipse.gemini.blueprint.util.OsgiServiceReferenceUtils.getServiceReference(OsgiServiceReferenceUtils.java:129)
> 	at org.eclipse.gemini.blueprint.util.OsgiListenerUtils.addSingleServiceListener(OsgiListenerUtils.java:168)
> 	at org.eclipse.gemini.blueprint.util.OsgiListenerUtils.addSingleServiceListener(OsgiListenerUtils.java:138)
> 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceDynamicInterceptor.afterPropertiesSet(ServiceDynamicInterceptor.java:467)
> 	at org.eclipse.gemini.blueprint.service.importer.support.OsgiServiceProxyFactoryBean$2.run(OsgiServiceProxyFactoryBean.java:196)
> 	at org.eclipse.gemini.blueprint.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObject(AbstractServiceImporterProxyFactoryBean.java:103)
> 	at org.eclipse.gemini.blueprint.service.importer.support.OsgiServiceProxyFactoryBean.getObject(OsgiServiceProxyFactoryBean.java:125)
> 	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
> 	... 24 more
> {code}

--
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



More information about the jboss-osgi-issues mailing list