felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Ryan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-4883) ServiceComponentRuntime.getComponentConfigurationDTOs NullPointerException
Date Tue, 12 May 2015 21:14:00 GMT

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

Rob Ryan commented on FELIX-4883:
---------------------------------

The root cause which led to discovery of this NPE was a component which (mis)handled its own
service registration. It could at times attempt to update its service registration properties
while not actually registered.

I think it is appropriate for clients of ServiceReference.getBundle() to handle a null return,
but that was not a root cause to our actual problem.

A 'minor' priority seems appropriate, so setting as such.

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

Mime
View raw message