[ https://issues.apache.org/jira/browse/FELIX-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17939334#comment-17939334 ]
Andreas Lemmer edited comment on FELIX-6746 at 3/28/25 10:04 PM: ----------------------------------------------------------------- This does not work. With the fixed version (and the current 1.0.26), I get the following exception. This is especially bad that with the "fix", even the delayed manual initialization doesn't work anymore. {{jakarta.servlet.ServletException: java.lang.IllegalStateException: WebSocketComponents has not been created}} {{ at org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:178)}} {{ at jakarta.servlet.GenericServlet.init(GenericServlet.java:178)}} {{ at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:107)}} {{ at org.apache.felix.http.base.internal.handler.ServletHandler.init(ServletHandler.java:178)}} {{ at org.apache.felix.http.base.internal.handler.WhiteboardServletHandler.init(WhiteboardServletHandler.java:108)}} {{ at org.apache.felix.http.base.internal.handler.WhiteboardWebSocketServletHandler.init(WhiteboardWebSocketServletHandler.java:57)}} {{ at org.apache.felix.http.base.internal.handler.WebSocketHandler.lazyInit(WebSocketHandler.java:48)}} {{ at org.apache.felix.http.base.internal.handler.WhiteboardWebSocketServletHandler.handle(WhiteboardWebSocketServletHandler.java:65)}} {{ at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)}} {{ at org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:167)}} {{ at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:967)}} {{ at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:95)}} {{ at org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)}} {{ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1621)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1554)}} {{ at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:819)}} {{ at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:469)}} {{ at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)}} {{ at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1064)}} {{ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)}} {{ at org.eclipse.jetty.server.Server.handle(Server.java:182)}} {{ at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)}} {{ at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)}} {{ at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)}} {{ at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)}} {{ at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:195)}} {{ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)}} {{ at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)}} {{ at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)}} {{ at java.base/java.lang.Thread.run(Thread.java:840)}} {{Caused by: java.lang.IllegalStateException: WebSocketComponents has not been created}} {{ at org.eclipse.jetty.websocket.core.server.WebSocketServerComponents.getWebSocketComponents(WebSocketServerComponents.java:173)}} {{ at org.eclipse.jetty.websocket.core.server.WebSocketServerComponents.getWebSocketComponents(WebSocketServerComponents.java:161)}} {{ at org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:135)}} {{ ... 36 more}} was (Author: alemmer): This does not work. With the fixed version (and the current 1.0.26), I get the following exception. This is especially bad that with the "fix", even the delayed manual initialization doesn't work anymore. {{jakarta.servlet.ServletException: java.lang.IllegalStateException: WebSocketComponents has not been created}} {{ at org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:178)}} {{ at jakarta.servlet.GenericServlet.init(GenericServlet.java:178)}} {{ at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:107)}} {{ at org.apache.felix.http.base.internal.handler.ServletHandler.init(ServletHandler.java:178)}} {{ at org.apache.felix.http.base.internal.handler.WhiteboardServletHandler.init(WhiteboardServletHandler.java:108)}} {{ at org.apache.felix.http.base.internal.handler.WhiteboardWebSocketServletHandler.init(WhiteboardWebSocketServletHandler.java:57)}} {{ at org.apache.felix.http.base.internal.handler.WebSocketHandler.lazyInit(WebSocketHandler.java:48)}} {{ at org.apache.felix.http.base.internal.handler.WhiteboardWebSocketServletHandler.handle(WhiteboardWebSocketServletHandler.java:65)}} {{ at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)}} {{zeuslocaltms | at org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:167)}} {{ at org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:967)}} {{ at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:95)}} {{ at org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)}} {{ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1621)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1554)}} {{ at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:819)}} {{ at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)}} {{ at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:469)}} {{ at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)}} {{ at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1064)}} {{ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)}} {{ at org.eclipse.jetty.server.Server.handle(Server.java:182)}} {{ at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)}} {{ at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)}} {{ at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)}} {{ at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)}} {{ at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)}} {{ at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:195)}} {{ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)}} {{ at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)}} {{ at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)}} {{ at java.base/java.lang.Thread.run(Thread.java:840)}} {{zeuslocaltms | Caused by: java.lang.IllegalStateException: WebSocketComponents has not been created}} {{ at org.eclipse.jetty.websocket.core.server.WebSocketServerComponents.getWebSocketComponents(WebSocketServerComponents.java:173)}} {{ at org.eclipse.jetty.websocket.core.server.WebSocketServerComponents.getWebSocketComponents(WebSocketServerComponents.java:161)}} {{ at org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:135)}} {{ ... 36 more}} > JettyWebSocketServlet: Error during calling init() > -------------------------------------------------- > > Key: FELIX-6746 > URL: https://issues.apache.org/jira/browse/FELIX-6746 > Project: Felix > Issue Type: Bug > Components: HTTP Service > Affects Versions: http.jetty12-1.0.19 > Reporter: Andreas Lemmer > Assignee: Paul Rütter > Priority: Major > Fix For: http.jetty12-1.0.20, http.base-5.1.10 > > > Bundle {{http.jetty12-1.0.19-with-jetty-websockets}} > When registering a {{new > org.apache.felix.http.javaxwrappers.ServletWrapper.ServletWrapper(new > JettyWebSocketServlet())}} at the {{HttpService}}, there is an Exception: > {{SEVERE 0 [org.apache.felix.http] Error during calling init() on servlet > (JettyWebSocketServlet-class)}} > {{ jakarta.servlet.ServletException: java.lang.NullPointerException: Cannot > invoke "org.eclipse.jetty.server.handler.ContextHandler.getContext()" because > "contextHandler" is null}} > {{ at > org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:178)}} > {{ at jakarta.servlet.GenericServlet.init(GenericServlet.java:178)}} > {{ at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:107)}} > {{ at > org.apache.felix.http.base.internal.handler.ServletHandler.init(ServletHandler.java:178)}} > {{ at > org.apache.felix.http.base.internal.registry.ServletRegistry.tryToActivate(ServletRegistry.java:395)}} > {{ at > org.apache.felix.http.base.internal.registry.ServletRegistry.addServlet(ServletRegistry.java:163)}} > {{ at > org.apache.felix.http.base.internal.registry.PerContextHandlerRegistry.registerServlet(PerContextHandlerRegistry.java:217)}} > {{ at > org.apache.felix.http.base.internal.service.SharedHttpServiceImpl.registerServlet(SharedHttpServiceImpl.java:78)}} > {{ at > org.apache.felix.http.base.internal.service.PerBundleHttpServiceImpl.registerServlet(PerBundleHttpServiceImpl.java:163)}} -- This message was sent by Atlassian Jira (v8.20.10#820010)