Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7F22610719 for ; Thu, 19 Mar 2015 06:00:52 +0000 (UTC) Received: (qmail 22380 invoked by uid 500); 19 Mar 2015 06:00:46 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 22304 invoked by uid 500); 19 Mar 2015 06:00:46 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 22182 invoked by uid 99); 19 Mar 2015 06:00:46 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2015 06:00:46 +0000 Date: Thu, 19 Mar 2015 06:00:46 +0000 (UTC) From: "Pierre De Rop (JIRA)" To: dev@felix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Closed] (FELIX-4394) Race problems in DependencyManager Configuration Dependency MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FELIX-4394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre De Rop closed FELIX-4394. -------------------------------- > Race problems in DependencyManager Configuration Dependency > ----------------------------------------------------------- > > Key: FELIX-4394 > URL: https://issues.apache.org/jira/browse/FELIX-4394 > Project: Felix > Issue Type: Bug > Components: Dependency Manager > Affects Versions: dependencymanager-3.1.0 > Reporter: Pierre De Rop > Assignee: Pierre De Rop > Fix For: org.apache.felix.dependencymanager-r1 > > > There are some synchronization issues in the ConfigurationDependencyImpl: > 1) in the stop(DependencyService service) method, if the current size of the "m_services" list is greater than 1, then the 'service' method parameter to be removed is not removed from the internal "m_services" list. > Also, if the list size is 1, then the service is removed from the list, but outside the synchronized block. > 2) in the updated(Dictionary settings) method: the service list (m_services) is iterated outside a synchronized block. > 3) the ensureActive method should be synchronized since it checks the m_services list size. > 4) I'm sometimes seeing the following WARN message logged from the ConfigurationDependencyImpl.updated class: > m_logger.log(Logger.LOG_ERROR, "Service " + ds + " with configuration dependency " + this + " could not be instantiated."); -- This message was sent by Atlassian JIRA (v6.3.4#6332)