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

Richard S. Hall resolved FELIX-952.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: felix-1.6.0
         Assignee: Richard S. Hall

I modified ServiceRegistry.unregisterServices() to check to see if the 
registration is valid before calling unregister(), so I think this should solve 
your issue. Please close this issue if you are satisfied.

> Exception thrown when unregistering services because the bundle is stopped
> --------------------------------------------------------------------------
>
>                 Key: FELIX-952
>                 URL: https://issues.apache.org/jira/browse/FELIX-952
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>            Reporter: Guillaume Nodet
>            Assignee: Richard S. Hall
>             Fix For: felix-1.6.0
>
>
> I have a bundle which happens to unregister some services from a 
> ServiceListener.
> What happens is that when the bundle is stopped, 
> ServiceRegistry#unregisterServices(Bundle) is called.
> This method unregister services one by one.   When one service has been 
> unregistered, my listener is called which unregister another service.
> When the loop iterator to this very service, an exception is thrown.
> {code}
> Caused by: java.lang.IllegalStateException: Service already unregistered.
>         at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:108)
>         at 
> org.apache.felix.framework.ServiceRegistry.unregisterServices(ServiceRegistry.java:135)
>         at org.apache.felix.framework.Felix._stopBundle(Felix.java:2032)
>         at org.apache.felix.framework.Felix.stopBundle(Felix.java:1952)
>         at org.apache.felix.framework.Felix._uninstallBundle(Felix.java:2106)
>         at org.apache.felix.framework.Felix.uninstallBundle(Felix.java:2076)
>         at 
> org.apache.felix.framework.BundleImpl.uninstall(BundleImpl.java:425)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to