Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
scr-1.8.0
-
None
Description
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).