David Jencks created FELIX-3675:
-----------------------------------
Summary: [DS] NPE shutting down a component due to service already
removed
Key: FELIX-3675
URL: https://issues.apache.org/jira/browse/FELIX-3675
Project: Felix
Issue Type: Bug
Components: Declarative Services (SCR)
Affects Versions: scr-1.8.0
Reporter: David Jencks
Fix For: scr-1.8.0
Stack trace looks like this:
>Stack Dump = java.lang.NullPointerException
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:610)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:233)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:611)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:492)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeUnbindMethod(DependencyManager.java:1276)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.unbind(DependencyManager.java:1131)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.close(DependencyManager.java:970)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:274)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:147)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Active.ungetService(AbstractComponentManager.java:1697)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:692)
I think that one thread is ungetting a service supplied by a DS component, and
another thread is removing one of the dependencies of the DS component. The
shutdown thread (a) gets all the service references and then (b) goes through
and tries to unbind them. The parameter info for a service reference can be
removed if another thread removes the service reference between (a) and (b).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira