Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-4386

Deadlock while creating composite instances programatically

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: ipojo-composite-1.8.4
    • Fix Version/s: ipojo-runtime-1.11.1
    • Component/s: iPOJO
    • Labels:
      None

      Description

      DEADLOCK DETECTED:
      ==================

      [deadlocked thread] [iPOJO] pool-1-thread-1:
      -------------------------------------------
      Thread '[iPOJO] pool-1-thread-1' is waiting to acquire lock 'org.apache.felix.ipojo.composite.CompositeFactory@4b61f9d9' that is held by thread '[ACTIVE] ExecuteThread: '2'

      Stack trace:
      ------------
      org.apache.felix.ipojo.IPojoFactory.getComponentDescription(IPojoFactory.java:371)
      org.apache.felix.ipojo.composite.instance.InstanceHandler.__M_bindFactory(InstanceHandler.java:179)
      org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
      sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
      org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:303)
      org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:340)
      org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:290)
      org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__M_onCreation(DependencyHandler.java:524)
      org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
      org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
      org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:355)
      org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:146)
      org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:319)
      org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240)
      foo.activator.DeployInstanceActivator$1.addingService(DeployInstanceActivator.java:43)
      org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
      org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
      org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
      org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
      org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894)
      org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
      org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793)
      org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)
      org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419)
      org.apache.felix.framework.Felix.registerService(Felix.java:3423)
      org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346)
      org.apache.felix.ipojo.IPojoFactory.start(IPojoFactory.java:686)
      org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport$1.call(ManagedType.java:229)
      org.apache.felix.ipojo.extender.internal.linker.ManagedType$ExtensionSupport$1.call(ManagedType.java:216)
      org.apache.felix.ipojo.extender.internal.queue.JobInfoCallable.call(JobInfoCallable.java:114)
      java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      java.util.concurrent.FutureTask.run(FutureTask.java:138)
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      java.lang.Thread.run(Thread.java:662)

      [deadlocked thread] [ACTIVE] ExecuteThread: '2'
      --------------------------------------------------------------------------------------------------
      Thread '[ACTIVE] ExecuteThread: '2' waiting to acquire lock 'org.apache.felix.ipojo.composite.CompositeFactory@d5a3c39' that is held by thread '[iPOJO] pool-1-thread-1'

      Stack trace:
      ------------
      org.apache.felix.ipojo.IPojoFactory.getComponentDescription(IPojoFactory.java:371)
      org.apache.felix.ipojo.composite.instance.InstanceHandler.__M_bindFactory(InstanceHandler.java:179)
      org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
      sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
      org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:303)
      org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:340)
      org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:290)
      org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__M_onCreation(DependencyHandler.java:524)
      org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
      org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
      org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:355)
      org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:146)
      org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:319)
      org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240)
      foo.activator.DeployInstanceActivator$1.addingService(DeployInstanceActivator.java:43)
      org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
      org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
      org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
      org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
      org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)
      org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
      foo.activator.DeployInstanceActivator.start(DeployInstanceActivator.java:74)
      org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
      org.apache.felix.framework.Felix.activateBundle(Felix.java:2146)
      org.apache.felix.framework.Felix.startBundle(Felix.java:2064)
      org.apache.felix.framework.Felix.updateBundle(Felix.java:2404)
      org.apache.felix.framework.BundleImpl.update(BundleImpl.java:973)
      ...

      >

        Attachments

          Activity

            People

            • Assignee:
              clement.escoffier Clement Escoffier
              Reporter:
              patricio78 Patricio Barletta
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: