[ 
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

Reply via email to