You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2012/10/16 20:23:04 UTC

[jira] [Commented] (FELIX-3675) [DS] NPE shutting down a component due to service already removed

    [ https://issues.apache.org/jira/browse/FELIX-3675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13477243#comment-13477243 ] 

David Jencks commented on FELIX-3675:
-------------------------------------

Original NPE fixed in rev 1381408.  There are a couple more opportunities for problems in update and unbind methods, such as

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)

these should be fixed in r1398912.
                
> [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