[ https://issues.apache.org/jira/browse/FELIX-3288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jarek Gawor updated FELIX-3288: ------------------------------- Attachment: FELIX-3288.patch Small patch for this issue. > 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.6.0 > Reporter: Jarek Gawor > Attachments: FELIX-3288.patch > > > 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