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

David Bosschaert resolved FELIX-4883.
-------------------------------------
    Resolution: Fixed

I mistakenly thought that the attached zip contained a testcase. 
[~rr...@adobe.com], I have put a defensive check for nulls on the line that you 
indicated: http://svn.apache.org/viewvc?view=revision&revision=1681073
As creating a ServiceReferenceDTO for a null ServiceReference does not make any 
sense, I'm having it return null. I have also updated the calling side to be 
able to deal with the null return value: 
http://svn.apache.org/viewvc?view=revision&revision=1681097

Please reopen if this doesn't fix it for you.

> ServiceComponentRuntime.getComponentConfigurationDTOs NullPointerException
> --------------------------------------------------------------------------
>
>                 Key: FELIX-4883
>                 URL: https://issues.apache.org/jira/browse/FELIX-4883
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>         Environment: Linux, Sling, Adobe CQ, org.apache.felix.scr version 
> 1.8.3-R1658944
>            Reporter: Rob Ryan
>            Assignee: David Bosschaert
>            Priority: Minor
>             Fix For: scr-2.0.0
>
>         Attachments: scrtest.zip
>
>
> In our test automation we install a large set of bundles after our also large 
> 'main' app starts up. This causes significant churn as bundles and components 
> are stopped and potentially new versions are started. Unfortunately the coded 
> involved is not open source, so I cannot deliver the full data required to 
> reproduce  the failure described here.
> What I can share is that after all this churn of bundles and components being 
> stopped and started the ScrComponentRuntime service starts to fail with a 
> NullPointerException in getComponentConfigurationDTOs. This was initially 
> noticed as an NPE being reported when visiting the felix console at 
> /system/console/components.
> The stack at the point of failure is:
> java.lang.NullPointerException
>       at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.serviceReferenceToDTO(ServiceComponentRuntimeImpl.java:205)
>       at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.satisfiedRefManagersToDTO(ServiceComponentRuntimeImpl.java:169)
>       at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.managerToConfiguration(ServiceComponentRuntimeImpl.java:145)
>       at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.getComponentConfigurationDTOs(ServiceComponentRuntimeImpl.java:119)
>       at com.robr.incqtest.test.ScrTest.test(ScrTest.java:37)
>       ...
> The NPE occurs because a 
> org.apache.felix.framework.ServiceRegistrationImpl.ServiceReferenceImpl being 
> processed in 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.serviceReferenceToDTO(org.osgi.framework.ServiceReference<?>)
>  line: 205     
> has a m_svcObj of null. So even though the bundle is actually available in 
> the object the getBundle() method returns null.
> [~cziegeler] [~bosschaert] I can investigate further to ideally narrow this 
> down further, but any pointers would be much appreciated.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to