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 C57E0110D7 for ; Wed, 6 Aug 2014 02:36:12 +0000 (UTC) Received: (qmail 13861 invoked by uid 500); 6 Aug 2014 02:36:12 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 13789 invoked by uid 500); 6 Aug 2014 02:36:12 -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 13777 invoked by uid 99); 6 Aug 2014 02:36:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Aug 2014 02:36:12 +0000 Date: Wed, 6 Aug 2014 02:36:12 +0000 (UTC) From: "David Jencks (JIRA)" To: dev@felix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (FELIX-4088) [DS] NPE from SCR service unregistration 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-4088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Jencks updated FELIX-4088: -------------------------------- Fix Version/s: scr-1.8.0 > [DS] NPE from SCR service unregistration > ---------------------------------------- > > Key: FELIX-4088 > URL: https://issues.apache.org/jira/browse/FELIX-4088 > Project: Felix > Issue Type: Bug > Components: Declarative Services (SCR), Framework > Affects Versions: framework-4.2.0, scr-1.6.0 > Environment: MacOSX 8 processors; Felix Configuration Admin 1.2.8 > Reporter: Timothy Ward > Assignee: David Jencks > Fix For: scr-1.8.0 > > > When uninstalling a set of bundles I get the following exception. > ERROR: Bundle com.paremus.dosgi.topologymanager [101] EventDispatcher: Error during dispatch. (java.lang.NullPointerException) > java.lang.NullPointerException > at org.apache.felix.framework.util.Util.getWire(Util.java:335) > at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:493) > at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:280) > at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:916) > at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) > at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4401) > at org.apache.felix.framework.Felix.access$000(Felix.java:74) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:390) > at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:151) > at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > at com.paremus.frameworkintercept.DelegatingServiceRegistration.unregister(DelegatingServiceRegistration.java:37) > at org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:470) > at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1074) > at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:338) > at org.apache.felix.scr.impl.manager.ImmediateComponentManager.reconfigure(ImmediateComponentManager.java:414) > at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.configurationDeleted(ConfiguredComponentHolder.java:152) > at org.apache.felix.scr.impl.config.ConfigurationComponentRegistry.configurationEvent(ConfigurationComponentRegistry.java:247) > at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1832) > at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104) > at java.lang.Thread.run(Thread.java:722) > ERROR: Bundle org.cauldron.newton.management.monitor [85] EventDispatcher: Error during dispatch. (java.lang.NullPointerException) > java.lang.NullPointerException > at org.apache.felix.framework.util.Util.getWire(Util.java:335) > at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:493) > at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:280) > at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:916) > at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) > at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4401) > at org.apache.felix.framework.Felix.access$000(Felix.java:74) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:390) > at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:151) > at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) > at com.paremus.frameworkintercept.DelegatingServiceRegistration.unregister(DelegatingServiceRegistration.java:37) > at org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:470) > at org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1074) > at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:338) > at org.apache.felix.scr.impl.manager.ImmediateComponentManager.reconfigure(ImmediateComponentManager.java:414) > at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.configurationDeleted(ConfiguredComponentHolder.java:152) > at org.apache.felix.scr.impl.config.ConfigurationComponentRegistry.configurationEvent(ConfigurationComponentRegistry.java:247) > at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1832) > at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104) > at java.lang.Thread.run(Thread.java:722) > One of the bundles is an extender, that publishes a Configuration using Config Admin. This configuration is picked up by DS to create a new Service using a ManagedServiceFactory. > At some point in the teardown I seem to be in the state where: > 1. The configuration is being deleted because the target bundle is being uninstalled > 2. The Bundle containing the SCR component is being uninstalled > 3. SCR is attempting to unregister the managed service because of the asynchronous notification from config admin. > I'm not sure whether the fault lies with the core framework or with scr, or with config admin. My guess is that SCR is at fault for trying to unregister a service for an uninstalled bundle, but that the framework shouldn't be blowing up either. Config Admin is probably an innocent bystander. -- This message was sent by Atlassian JIRA (v6.2#6252)