[ https://issues.apache.org/jira/browse/FELIX-4260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14658699#comment-14658699 ]
Christoph Läubrich commented on FELIX-4260: ------------------------------------------- At the time this issue was present I used Equinox 3.7 and Felic SCR 1.6 I then switched to the trunk version as suggested and didn't see the problem any longer as far as I remember. I still see in the 1.8 line where operations for DS components are executed outside the "Component-Thread" e.g. if services are registered inside seperate threads or if CM updates take place. I'm just not sure if this is an issue or is intentional. > IllegalStateException: The service has been unregistered > -------------------------------------------------------- > > Key: FELIX-4260 > URL: https://issues.apache.org/jira/browse/FELIX-4260 > Project: Felix > Issue Type: Bug > Reporter: Christoph Läubrich > Priority: Blocker > > Currently I get this as an framework Error: > java.lang.IllegalStateException: The service has been unregistered > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:209) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:668) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550) > at > org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:333) > at > org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:159) > at > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:660) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:644) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:688) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1481) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:550) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:261) > at > org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:328) > at > org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:158) > at > org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:113) > at > org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:261) > at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:179) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) > at > org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1522) > at > org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1458) > at > org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1453) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:391) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) > This currently prevents the starting of one of my components. It seems that > there is some kind of concurrency. If the ServiceReference is handled in a > concurrent way, the IllegalStateException must be caught because it is > possible that the service was already unregistered automatically in the event > of an refresh/stop of the bundle. -- This message was sent by Atlassian JIRA (v6.3.4#6332)