Thomas Watson created FELIX-6055:
------------------------------------

             Summary: NullPointerException possible because 
ServiceReference.getBundle() can return null
                 Key: FELIX-6055
                 URL: https://issues.apache.org/jira/browse/FELIX-6055
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-2.1.14
            Reporter: Thomas Watson


There are a couple of places in the SCR code where it gets the bundle object 
from ServiceReference.getBundle(). Unfortunately this method can return null 
when a service becomes unregistered. This can lead to FrameworkEvent errors 
with NPEs that look like the following:
{code}
 FrameworkEvent ERROR java.lang.NullPointerException
 at 
org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.serviceChanged(ServiceComponentRuntimeImpl.java:491)
 at 
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:112)
 at 
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:923)
 at 
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:233)
 at 
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
 at 
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:865)
 at 
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
 at 
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:171)
{code}

We should protect against such cases.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to