NullPointerException on stopping bundle managed by SCR
------------------------------------------------------

                 Key: FELIX-861
                 URL: https://issues.apache.org/jira/browse/FELIX-861
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-1.0.6
         Environment: Felix 1.4.0, SCR 1.0.6
            Reporter: Alin Dreghiciu


Situation (is about Pax Shell using SCR):

Bundle 1:
<component name='org.ops4j.pax.shell.threadio.internal.ThreadIOImpl'>
  <implementation class='org.ops4j.pax.shell.threadio.internal.ThreadIOImpl'/>
  <service>
    <provide interface='org.osgi.service.threadio.ThreadIO'/>
  </service>
</component>

Bundle 2:
<component name='org.ops4j.pax.shell.runtime.internal.CommandProcessorImpl'>
  <implementation 
class='org.ops4j.pax.shell.runtime.internal.CommandProcessorImpl'/>
  <service>
    <provide interface='org.osgi.service.command.CommandProcessor'/>
  </service>
  <reference name='threadIO' interface='org.osgi.service.threadio.ThreadIO' 
bind='setThreadIO' unbind='unsetThreadIO'/>

When I stop the bundle 1 I get the following exception:

ERROR: EventDispatcher: Error during dispatch. (java.lang.NullPointerException)
java.lang.NullPointerException
        at 
org.apache.felix.scr.impl.DependencyManager.getBindingMethod(DependencyManager.java:735)
        at 
org.apache.felix.scr.impl.DependencyManager.getBindingMethod(DependencyManager.java:794)
        at 
org.apache.felix.scr.impl.DependencyManager.invokeUnbindMethod(DependencyManager.java:932)
        at 
org.apache.felix.scr.impl.DependencyManager.unbind(DependencyManager.java:691)
        at 
org.apache.felix.scr.impl.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:296)
        at 
org.apache.felix.scr.impl.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:150)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:554)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.deactivate(AbstractComponentManager.java:238)
        at 
org.apache.felix.scr.impl.DependencyManager.serviceRemoved(DependencyManager.java:242)
        at 
org.apache.felix.scr.impl.DependencyManager.serviceChanged(DependencyManager.java:124)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)
        at 
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3566)
        at org.apache.felix.framework.Felix.access$200(Felix.java:37)
        at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:833)
        at 
org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)
        at 
org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:96)
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:118)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:715)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:549)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.deactivate(AbstractComponentManager.java:238)
        at 
org.apache.felix.scr.impl.DependencyManager.serviceRemoved(DependencyManager.java:242)
        at 
org.apache.felix.scr.impl.DependencyManager.serviceChanged(DependencyManager.java:124)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)
        at 
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3566)
        at org.apache.felix.framework.Felix.access$200(Felix.java:37)
        at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:833)
        at 
org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)
        at 
org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:96)
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:118)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:715)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:549)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.disableInternal(AbstractComponentManager.java:579)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.disposeInternal(AbstractComponentManager.java:616)
        at 
org.apache.felix.scr.impl.AbstractComponentManager.dispose(AbstractComponentManager.java:272)
        at 
org.apache.felix.scr.impl.ImmediateComponentManager.dispose(ImmediateComponentManager.java:120)
        at 
org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:258)
        at 
org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:264)
        at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:177)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:690)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:619)
        at 
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:532)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3555)
        at org.apache.felix.framework.Felix._stopBundle(Felix.java:2039)
        at org.apache.felix.framework.Felix.stopBundle(Felix.java:2004)
        at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:418)
        at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:405)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to