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

Carsten Ziegeler resolved FELIX-5028.
-------------------------------------
    Resolution: Fixed

I've hopefully fixe this in rev 1703178 by increasing the use count on 
getService and protecting it through the lock. At least manual tests proof that 
with this in place, the problem is not occuring anymore

> ServiceFactory for components might return null
> -----------------------------------------------
>
>                 Key: FELIX-5028
>                 URL: https://issues.apache.org/jira/browse/FELIX-5028
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.0.0
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>             Fix For: scr-2.0.2
>
>
> There seems to be an uneven handling of locking/status information in 
> getService/ungetService of the service factory registered by the 
> SingleComponentManager. (I didn't check the other factories)
> We have a concurrent get/ungetService for the same service. While the unget 
> service uses a lock around decrementing the counter, incrementing the counter 
> and other actions in getService are not using the lock. There is a partial 
> lock there. 
> But this can lead to the problem that while the preconditions for getService 
> are still fine, ungetService cleans up which then makes getService to return 
> null.
> We have a huge app where we can reproduce the problem, I'll try to trim this 
> down to a simple test case.



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

Reply via email to