NPE when component exposed as a service with servicefactory = true
------------------------------------------------------------------

                 Key: FELIX-3288
                 URL: https://issues.apache.org/jira/browse/FELIX-3288
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-1.0.2
            Reporter: Jarek Gawor


I have a component that is exposed as a service and is also configured with 
servicefactory = true. I see the following NPE when shutting the framework:

java.lang.NullPointerException
        at 
org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:252)
        at 
org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:135)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1075)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.disposeInternal(AbstractComponentManager.java:357)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:196)
        at 
org.apache.felix.scr.impl.config.ConfiguredComponentHolder.disposeComponents(ConfiguredComponentHolder.java:299)
        at 
org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:319)
        at 
org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:340)
        at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:207)

Since the component is configured with servicefactory = true, 
ServiceFactoryComponentManager is used to manage the object. 
ServiceFactoryComponentManager overrides the createComponent() method from 
ImmediateComponentManager. ServiceFactoryComponentManager also intended (I 
think) to override the corresponding deleteComponent() method from 
ImmediateComponentManager. However, the signature of the deleteComponent() in 
ImmediateComponentManager has changed a bit so the override doesn't work 
anymore. So that's what I think is causing the problem in this case.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to