You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "J.W. Janssen (JIRA)" <ji...@apache.org> on 2014/02/07 17:26:19 UTC

[jira] [Created] (FELIX-4423) ClassNotFoundException when stopping Jetty bundle

J.W. Janssen created FELIX-4423:
-----------------------------------

             Summary: ClassNotFoundException when stopping Jetty bundle
                 Key: FELIX-4423
                 URL: https://issues.apache.org/jira/browse/FELIX-4423
             Project: Felix
          Issue Type: Bug
          Components: HTTP Service
    Affects Versions: http-2.2.2
            Reporter: J.W. Janssen
            Assignee: J.W. Janssen
             Fix For: http-2.3.0


I sometimes see a class-not-found exception when stopping the OSGi framework with a running Jetty bundle. It seems that due to the asynchronous nature of this bundle, subtle timing issues can occur during shutdown:

{code}
2014-02-07 17:21:23.312:WARN:oejuc.AbstractLifeCycle:FAILED qtp1827750836{8<=8<=8/254,0}: java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool$1
java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool$1
	at org.eclipse.jetty.util.thread.QueuedThreadPool.doStop(QueuedThreadPool.java:126)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at org.eclipse.jetty.util.component.AggregateLifeCycle.doStop(AggregateLifeCycle.java:107)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:69)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:108)
	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:744)
Caused by:
java.lang.ClassNotFoundException: Unable to load class 'org.eclipse.jetty.util.thread.QueuedThreadPool$1' because the bundle wiring for org.apache.felix.http.jetty is no longer valid.
	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1494)
	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.doStop(QueuedThreadPool.java:126)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at org.eclipse.jetty.util.component.AggregateLifeCycle.doStop(AggregateLifeCycle.java:107)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:69)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:108)
	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:744)
{code}




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)