[ 
https://issues.apache.org/jira/browse/SLING-2713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler resolved SLING-2713.
-------------------------------------

    Resolution: Fixed
    
> java.lang.IllegalStateException: Service already unregistered during 
> unregistering of resource resolver
> -------------------------------------------------------------------------------------------------------
>
>                 Key: SLING-2713
>                 URL: https://issues.apache.org/jira/browse/SLING-2713
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.0.0
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>            Priority: Minor
>             Fix For: Resource Resolver 1.0.4
>
>
> When unregistering, the following stacktrace shows that 
> ResourceResolverFactoryActivator#unregisterFactory is invoked recursively 
> causing unregister() to be called more than once on the same registration 
> object
> 23.01.2013 16:19:17.428 *ERROR* [FelixFrameworkWiring] 
> org.apache.sling.resourceresolver 
> [org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl] The 
> unbindResourceProvider method has thrown an exception 
> (java.lang.IllegalStateException: Service already unregistered.) 
> java.lang.IllegalStateException: Service already unregistered.
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:123)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.unregisterFactory(ResourceResolverFactoryActivator.java:302)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:331)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.unbindResourceProvider(ResourceResolverFactoryActivator.java:353)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:236)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:613)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:496)
>       at 
> org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:38)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.invokeUnbindMethod(DependencyManager.java:1404)
>       at 
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.invokeUnbindMethod(ImmediateComponentManager.java:327)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:530)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274)
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
>       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:4335)
>       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:148)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127)
>       at 
> org.apache.sling.servlets.resolver.internal.SlingServletResolver.destroyServlet(SlingServletResolver.java:1050)
>       at 
> org.apache.sling.servlets.resolver.internal.SlingServletResolver.destroyAllServlets(SlingServletResolver.java:1039)
>       at 
> org.apache.sling.servlets.resolver.internal.SlingServletResolver.deactivate(SlingServletResolver.java:921)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:236)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:613)
>       at 
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:496)
>       at 
> org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:149)
>       at 
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:286)
>       at 
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:160)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Active.ungetService(AbstractComponentManager.java:1661)
>       at 
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.ungetService(ImmediateComponentManager.java:717)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.ungetFactoryUnchecked(ServiceRegistrationImpl.java:349)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.ungetService(ServiceRegistrationImpl.java:258)
>       at 
> org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:389)
>       at org.apache.felix.framework.Felix.ungetService(Felix.java:3502)
>       at 
> org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:486)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.ungetService(DependencyManager.java:961)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:534)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274)
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
>       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:4335)
>       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:148)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:702)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1301)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Satisfied.deactivate(AbstractComponentManager.java:1599)
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:555)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceRemoved(DependencyManager.java:451)
>       at 
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:274)
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932)
>       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:4335)
>       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:148)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.unregisterFactory(ResourceResolverFactoryActivator.java:302)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:331)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.unbindResourceProviderFactory(ResourceResolverFactoryActivator.java:371)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to