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.