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

David Jencks commented on FELIX-4349:
-------------------------------------

I doubt very much this fixes your issue.  If you have a debug level log for DS 
for when the problem occurred and can send it to me I'll take a look.

> Synchronization issue in ComponentRegistry
> ------------------------------------------
>
>                 Key: FELIX-4349
>                 URL: https://issues.apache.org/jira/browse/FELIX-4349
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.8.0
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>             Fix For: scr-1.8.2
>
>
> Investigating an issue in some of our integration test, we found that the 
> ComponentRegistry#m_missingDependencies field is wrongly synchronized.
> Two methods are accessing this Map, registerMissingDependency and 
> missingServicePresent, but only the first one is synchronized.
> Patch proposed:
> {code}
> diff --git 
> a/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java 
> b/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
> index 9b307a9..c40ab5f 100644
> --- a/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
> +++ b/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
> @@ -660,7 +660,7 @@ public class ComponentRegistry implements ScrService, 
> ServiceListener
>          }
>      }
>  
> -    public void missingServicePresent( final ServiceReference 
> serviceReference, ComponentActorThread actor )
> +    public synchronized void missingServicePresent( final ServiceReference 
> serviceReference, ComponentActorThread actor )
>      {
>          final List<Entry> dependencyManagers = m_missingDependencies.remove( 
> serviceReference );
>          if ( dependencyManagers != null )
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to