Felix
  1. Felix
  2. FELIX-3242

Concurrent modification problem in StatefulResolver$ResolverStateImpl.getCandidates

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: framework-4.0.1
    • Fix Version/s: framework-4.2.0
    • Component/s: Framework
    • Labels:
      None

      Description

      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

        Issue Links

          Activity

          Gavin made changes -
          Link This issue is depended upon by ARIES-954 [ ARIES-954 ]
          Gavin made changes -
          Link This issue blocks ARIES-954 [ ARIES-954 ]
          Hendy Irawan made changes -
          Link This issue blocks ARIES-954 [ ARIES-954 ]
          Richard S. Hall made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Assignee Richard S. Hall [ rickhall ]
          Resolution Fixed [ 1 ]
          Richard S. Hall made changes -
          Link This issue is duplicated by FELIX-3683 [ FELIX-3683 ]
          Hendy Irawan made changes -
          Link This issue is related to ARIES-904 [ ARIES-904 ]
          Richard S. Hall made changes -
          Field Original Value New Value
          Fix Version/s framework-4.2.0 [ 12317972 ]
          David Jencks created issue -

            People

            • Assignee:
              Richard S. Hall
              Reporter:
              David Jencks
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development