You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Bram de Kruijff (JIRA)" <ji...@apache.org> on 2014/09/18 14:58:33 UTC

[jira] [Commented] (FELIX-4645) Service already unregistered exception from HttpServicePlugin

    [ https://issues.apache.org/jira/browse/FELIX-4645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14138877#comment-14138877 ] 

Bram de Kruijff commented on FELIX-4645:
----------------------------------------

I think it is a race conditions that happens servlets deregister in concurrence with the HttpService asynchronously shutting down. That is something likely to happen in your scenario and I also saw this trace frequently in integration tests where bundles are stopped/started all the time. Upgrading to 2.3.0 solved it for me.

> Service already unregistered exception from HttpServicePlugin
> -------------------------------------------------------------
>
>                 Key: FELIX-4645
>                 URL: https://issues.apache.org/jira/browse/FELIX-4645
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>            Reporter: Arjan Schaaf
>
> Running into the following stacktrace after the Felix target received an update from its Apache ACE server (stopunaffectedbundles is set to true)
> http.jetty 2.2.2 bundle
> {code}
> 2014-09-17 20:19:34.973:WARN:oejs.ServletHolder:
> java.lang.IllegalStateException: Service already unregistered.
>         at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:123)
>         at org.apache.felix.http.base.internal.handler.HttpServicePlugin.unregister(HttpServicePlugin.java:189)
>         at org.apache.felix.http.base.internal.HttpServiceController.unregister(HttpServiceController.java:153)
>         at org.apache.felix.http.base.internal.DispatcherServlet.destroy(DispatcherServlet.java:54)
>         at org.eclipse.jetty.servlet.ServletHolder.destroyInstance(ServletHolder.java:344)
>         at org.eclipse.jetty.servlet.ServletHolder.doStop(ServletHolder.java:317)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
>         at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java:204)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
>         at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
>         at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java:132)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
>         at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
>         at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:777)
>         at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:149)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
>         at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java:250)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
>         at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
>         at org.eclipse.jetty.server.Server.doStop(Server.java:342)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
>         at org.apache.felix.http.jetty.internal.JettyService.stopJetty(JettyService.java:228)
>         at org.apache.felix.http.jetty.internal.JettyService.access$100(JettyService.java:72)
>         at org.apache.felix.http.jetty.internal.JettyService$3.doExecute(JettyService.java:169)
>         at org.apache.felix.http.jetty.internal.JettyService$JettyOperation.call(JettyService.java:792)
>         at org.apache.felix.http.jetty.internal.JettyService$JettyOperation.call(JettyService.java:783)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> 2014-09-17 20:19:34.974:INFO:oejsh.ContextHandler:stopped o.e.j.s.ServletContextHandler{/,null}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)