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 7E68C737E for ; Mon, 10 Oct 2011 17:18:55 +0000 (UTC) Received: (qmail 13417 invoked by uid 500); 10 Oct 2011 17:18:55 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 13365 invoked by uid 500); 10 Oct 2011 17:18:55 -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 13357 invoked by uid 99); 10 Oct 2011 17:18:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Oct 2011 17:18:55 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Oct 2011 17:18:51 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id A5741301C24 for ; Mon, 10 Oct 2011 17:18:29 +0000 (UTC) Date: Mon, 10 Oct 2011 17:18:29 +0000 (UTC) From: "Ioannis Canellos (Updated) (JIRA)" To: dev@felix.apache.org Message-ID: <412479969.15446.1318267109679.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <578897747.15026.1318261650012.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (FELIX-3153) refreshPackages on certain bundles can create a mess MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/FELIX-3153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ioannis Canellos updated FELIX-3153: ------------------------------------ Affects Version/s: framework-3.2.2 I also managed to reproduce the same behavior using 3.2.2. An other interesting exception I get from time to time (using the same scenario) is the following: ERROR: Bundle org.apache.servicemix.jbi.deployer [171] EventDispatcher: Error during dispatch. (java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5) previously initiated loading for a different type with name "org/apache/servicemix/executors/Executor") java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5) previously initiated loading for a different type with name "org/apache/servicemix/executors/Executor" at org.apache.servicemix.wsn.component.WSNComponent$WSNEndpointManager.unregister(WSNComponent.java:291) at org.apache.servicemix.wsn.AbstractEndpoint.unregister(AbstractEndpoint.java:52) at org.apache.servicemix.wsn.AbstractPublisher.destroy(AbstractPublisher.java:81) at org.apache.servicemix.wsn.jms.JmsPublisher.destroy(JmsPublisher.java:149) at org.apache.servicemix.wsn.AbstractNotificationBroker.destroy(AbstractNotificationBroker.java:104) at org.apache.servicemix.wsn.jms.JmsNotificationBroker.destroy(JmsNotificationBroker.java:58) at org.apache.servicemix.wsn.component.WSNComponent.doShutDown(WSNComponent.java:191) at org.apache.servicemix.common.AsyncBaseLifeCycle.shutDown(AsyncBaseLifeCycle.java:259) at org.apache.servicemix.jbi.deployer.artifacts.ComponentImpl$ComponentWrapper.shutDown(ComponentImpl.java:277) at org.apache.servicemix.jbi.deployer.artifacts.ComponentImpl.shutDown(ComponentImpl.java:182) at org.apache.servicemix.jbi.deployer.impl.Deployer.unregisterComponent(Deployer.java:452) at org.apache.servicemix.jbi.deployer.impl.Deployer.unregisterDeployedComponent(Deployer.java:676) at org.apache.servicemix.jbi.deployer.impl.Deployer$1.removedService(Deployer.java:223) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:922) at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:351) at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:865) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3890) at org.apache.felix.framework.Felix.access$000(Felix.java:79) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:728) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129) at org.apache.aries.blueprint.container.ServiceRecipe.unregister(ServiceRecipe.java:201) at org.apache.aries.blueprint.container.BlueprintContainerImpl.notifySatisfaction(BlueprintContainerImpl.java:615) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.setSatisfied(AbstractServiceReferenceRecipe.java:305) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceRemoved(AbstractServiceReferenceRecipe.java:281) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceChanged(AbstractServiceReferenceRecipe.java:251) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3890) at org.apache.felix.framework.Felix.access$000(Felix.java:79) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:728) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129) at org.apache.aries.blueprint.container.ServiceRecipe.unregister(ServiceRecipe.java:201) at org.apache.aries.blueprint.container.BlueprintContainerImpl.unregisterServices(BlueprintContainerImpl.java:673) at org.apache.aries.blueprint.container.BlueprintContainerImpl.namespaceHandlerUnregistered(BlueprintContainerImpl.java:866) at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.unregisterHandler(NamespaceHandlerRegistryImpl.java:365) at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.unregisterHandler(NamespaceHandlerRegistryImpl.java:149) at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.removedService(NamespaceHandlerRegistryImpl.java:119) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:922) at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:351) at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:865) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3890) at org.apache.felix.framework.Felix.access$000(Felix.java:79) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:728) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129) at org.apache.aries.blueprint.container.ServiceRecipe.unregister(ServiceRecipe.java:201) at org.apache.aries.blueprint.container.BlueprintContainerImpl.unregisterServices(BlueprintContainerImpl.java:673) at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:822) at org.apache.aries.blueprint.container.BlueprintExtender.destroyContext(BlueprintExtender.java:250) at org.apache.aries.blueprint.container.BlueprintExtender.bundleChanged(BlueprintExtender.java:242) at org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.modifiedBundle(BlueprintExtender.java:431) at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:453) at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237) at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:413) at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610) at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3879) at org.apache.felix.framework.Felix.stopBundle(Felix.java:2268) at org.apache.felix.framework.Felix$RefreshHelper.stop(Felix.java:4668) at org.apache.felix.framework.Felix.refreshPackages(Felix.java:3699) at org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:365) at java.lang.Thread.run(Thread.java:680) > refreshPackages on certain bundles can create a mess > ---------------------------------------------------- > > Key: FELIX-3153 > URL: https://issues.apache.org/jira/browse/FELIX-3153 > Project: Felix > Issue Type: Bug > Affects Versions: framework-3.0.9, framework-3.2.2 > Reporter: Ioannis Canellos > > When using refreshPackages on a bundle that is used by a lot of other bundles, it results in error. > There is no deterministic behavior and the error is not always the same, even if I repeat the exact same test twice. > A typical example on how I reproduce it is to refresh the spring-context bundle inside servicemix 4.4 (running on felix). > If I switch to equinox I don't have that issue. That doesn't say much, but I mention it to exclude other possibilities. > From my logs I see that Felix tries to refresh the bundles in the populated graph with a different order each time (I don't know if this helps identifying the issue). > Usually, the error looks like this: > ERROR: Bundle org.springframework.osgi.extender [83] Error stopping bundle. (java.lang.NoClassDefFoundError: org/osgi/framework/ServiceRegistration) > java.lang.NoClassDefFoundError: org/osgi/framework/ServiceRegistration > at org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41) > at org.springframework.osgi.extender.internal.support.NamespaceManager.unregisterResolverService(NamespaceManager.java:195) > at org.springframework.osgi.extender.internal.support.NamespaceManager.destroy(NamespaceManager.java:223) > at org.springframework.osgi.extender.internal.activator.ContextLoaderListener.shutdown(ContextLoaderListener.java:547) > at org.springframework.osgi.extender.internal.activator.ContextLoaderListener.stop(ContextLoaderListener.java:431) > at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:651) > at org.apache.felix.framework.Felix.stopBundle(Felix.java:2216) > at org.apache.felix.framework.Felix$RefreshHelper.stop(Felix.java:4489) > at org.apache.felix.framework.Felix.refreshPackages(Felix.java:3581) > at org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:363) > at java.lang.Thread.run(Thread.java:680) > Caused by: java.lang.ClassNotFoundException: org.osgi.framework.ServiceRegistration not found by org.springframework.osgi.core [80] > at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787) > at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) > at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > ... 11 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira