You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Hendy Irawan (JIRA)" <ji...@apache.org> on 2013/02/10 04:49:12 UTC

[jira] [Commented] (FELIX-3242) Concurrent modification problem in StatefulResolver$ResolverStateImpl.getCandidates

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

Hendy Irawan commented on FELIX-3242:
-------------------------------------

Thank you Richard!

To test it, I can just replace the felix.framework.jar on Karaf 2.3.0 with the latest snapshot?
                
> Concurrent modification problem in StatefulResolver$ResolverStateImpl.getCandidates
> -----------------------------------------------------------------------------------
>
>                 Key: FELIX-3242
>                 URL: https://issues.apache.org/jira/browse/FELIX-3242
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.1
>            Reporter: David Jencks
>            Assignee: Richard S. Hall
>             Fix For: framework-4.2.0
>
>
> I occasionally see this stack trace (2 examples) starting stuff in karaf running on felix 4.0.1  Unfortunately it happens rarely and with no pattern I can discern.
> [Blueprint Extender: 3] ERROR org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener - Error calling listener method public synchronized void org.apache.karaf.shell.console.jline.ConsoleFactory.registerCommandProcessor(org.apache.felix.service.command.CommandProcessor) throws java.lang.Exception
> java.lang.reflect.InvocationTargetException
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:238)
>        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:460)
>        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.bind(AbstractServiceReferenceRecipe.java:442)
>        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.bind(AbstractServiceReferenceRecipe.java:339)
>        at org.apache.aries.blueprint.container.ReferenceRecipe.bind(ReferenceRecipe.java:149)
>        at org.apache.aries.blueprint.container.ReferenceRecipe.retrack(ReferenceRecipe.java:114)
>        at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.updateListeners(AbstractServiceReferenceRecipe.java:331)
>        at org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:93)
>        at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:71)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:79)
>        at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:220)
>        at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:154)
>        at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:630)
>        at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:326)
>        at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228)
>        at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:680)
> Caused by: java.util.ConcurrentModificationException
>        at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
>        at java.util.AbstractList$Itr.next(AbstractList.java:343)
>        at org.apache.felix.framework.StatefulResolver$ResolverStateImpl.getCandidates(StatefulResolver.java:1333)
>        at org.apache.felix.framework.StatefulResolver.isAllowedDynamicImport(StatefulResolver.java:521)
>        at org.apache.felix.framework.StatefulResolver.resolve(StatefulResolver.java:216)
>        at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1539)
>        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1439)
>        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>        at java.lang.ClassLoader.defineClass1(Native Method)
>        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2128)
>        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
>        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>        at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
>        at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1481)
>        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1427)
>        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>        at org.apache.karaf.shell.console.jline.ConsoleFactory.start(ConsoleFactory.java:71)
>        at org.apache.karaf.shell.console.jline.ConsoleFactory.registerCommandProcessor(ConsoleFactory.java:51)
>        ... 30 more
> ----------------------------------------------------
> [Thread-8] ERROR org.apache.karaf.features.internal.FeaturesServiceImpl - Error installing boot feature management
> java.io.IOException: javax.xml.bind.JAXBException: Unable to create context
> - with linked exception:
> [java.lang.reflect.InvocationTargetException] : mvn:org.apache.karaf.features/enterprise/3.0.0-SNAPSHOT/xml/features
>        at org.apache.karaf.features.internal.RepositoryImpl.load(RepositoryImpl.java:96)
>        at org.apache.karaf.features.internal.RepositoryImpl.getRepositories(RepositoryImpl.java:69)
>        at org.apache.karaf.features.internal.FeaturesServiceImpl.getFeatures(FeaturesServiceImpl.java:910)
>        at org.apache.karaf.features.internal.FeaturesServiceImpl.getFeature(FeaturesServiceImpl.java:870)
>        at org.apache.karaf.features.internal.FeaturesServiceImpl$1.run(FeaturesServiceImpl.java:994)
> Caused by: java.lang.RuntimeException: javax.xml.bind.JAXBException: Unable to create context
> - with linked exception:
> [java.lang.reflect.InvocationTargetException]
>        at org.apache.karaf.features.internal.model.JaxbUtil.unmarshal(JaxbUtil.java:126)
>        at org.apache.karaf.features.internal.RepositoryImpl.load(RepositoryImpl.java:88)
>        ... 4 more
> Caused by: javax.xml.bind.JAXBException: Unable to create context
> - with linked exception:
> [java.lang.reflect.InvocationTargetException]
>        at javax.xml.bind.ContextFinder.find(ContextFinder.java:116)
>        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:65)
>        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:56)
>        at org.apache.karaf.features.internal.model.JaxbUtil.unmarshal(JaxbUtil.java:107)
>        ... 5 more
> Caused by: java.lang.reflect.InvocationTargetException
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at javax.xml.bind.ContextFinder.find(ContextFinder.java:114)
>        ... 8 more
> Caused by: java.util.ConcurrentModificationException
>        at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
>        at java.util.AbstractList$Itr.next(AbstractList.java:343)
>        at org.apache.felix.framework.StatefulResolver$ResolverStateImpl.getCandidates(StatefulResolver.java:1333)
>        at org.apache.felix.framework.StatefulResolver.isAllowedDynamicImport(StatefulResolver.java:521)
>        at org.apache.felix.framework.StatefulResolver.resolve(StatefulResolver.java:216)
>        at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1539)
>        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1439)
>        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>        at java.lang.Class.forName0(Native Method)
>        at java.lang.Class.forName(Class.java:247)
>        at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
>        at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
>        at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
>        at sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:370)
>        at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:181)
>        at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
>        at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
>        at java.lang.reflect.Method.declaredAnnotations(Method.java:693)
>        at java.lang.reflect.Method.getDeclaredAnnotations(Method.java:686)
>        at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175)
>        at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getAllMethodAnnotations(RuntimeInlineAnnotationReader.java:89)
>        at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getAllMethodAnnotations(RuntimeInlineAnnotationReader.java:57)
>        at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.ensureNoAnnotation(ClassInfoImpl.java:1130)
>        at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.collectGetterSetters(ClassInfoImpl.java:1069)
>        at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.findGetterSetterProperties(ClassInfoImpl.java:943)
>        at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.getProperties(ClassInfoImpl.java:314)
>        at com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl.getProperties(RuntimeClassInfoImpl.java:186)
>        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:247)
>        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:104)
>        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:85)
>        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:213)
>        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:99)
>        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:85)
>        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:319)
>        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:334)
>        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:483)
>        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:319)
>        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170)
>        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)
>        ... 13 more

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