You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2012/11/27 14:13:59 UTC

[jira] [Resolved] (FELIX-3787) NPE on reference update

     [ https://issues.apache.org/jira/browse/FELIX-3787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger resolved FELIX-3787.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: scr-1.6.4

Thanks.

I can reproduce it now.

The issue occurs because this is a delayed component which is *not* activated yet and so the internal dependency map has not been setup, thus is null and the statement:

  Map bound = ( Map ) m_componentManager.getDependencyMap().get( this );

is expected to throw an NPE in this case.

Turns out it is nasty (and unneeded logging only) because the component has never been activated. Consequently this situation has no adverse consequences on operations (despite the logging).

Fixing this in Rev. 1414168 by guarding against missing dependencies map.
                
> NPE on reference update
> -----------------------
>
>                 Key: FELIX-3787
>                 URL: https://issues.apache.org/jira/browse/FELIX-3787
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.6.2
>            Reporter: Dmytro Pishchukhin
>            Assignee: Felix Meschberger
>             Fix For: scr-1.6.4
>
>
> I defined reference with annotation:
>     @Reference(referenceInterface = Controller.class, cardinality = ReferenceCardinality.MANDATORY_UNARY, policyOption = ReferencePolicyOption.GREEDY)
>     protected Controller controller;
> when I install a new service I got an error:
> java.lang.NullPointerException
>         at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:383)
>         at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159)
>         at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
>         at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793)
>         at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)
>         at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4260)
>         at org.apache.felix.framework.Felix.registerService(Felix.java:3275) 

--
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