Anybody able to enable BOSH with 3.10.0-alpha?

Hi,

enabling BOSH in the current master (3.10 alpha) fails for me.

It might be because of the Jetty update. Here’s the stacktrace, does anybody have an idea?

– csh

2014.11.28 18:52:27 org.jivesoftware.util.Log - An error has occured configuring the HTTP binding ports
   java.lang.NullPointerException      at org.eclipse.jetty.servlet.ServletContextHandler.addServlet(ServletContextHandler.java:361)  at org.jivesoftware.openfire.http.HttpBindManager.createBoshHandler(HttpBindManager.java:550) at org.jivesoftware.openfire.http.HttpBindManager.configureHttpBindServer(HttpBindManager.java:538) at org.jivesoftware.openfire.http.HttpBindManager.changeHttpBindPorts(HttpBindManager.java:505) at org.jivesoftware.openfire.http.HttpBindManager.setHttpBindPorts(HttpBindManager.java:470) at org.jivesoftware.openfire.admin.http_002dbind_jsp.handleUpdate(http_002dbind_jsp.java:41) at org.jivesoftware.openfire.admin.http_002dbind_jsp._jspService(http_002dbind_jsp.java:136)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651)      at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)      at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639)  at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639)  at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639)  at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639)  at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)      at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)      at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)      at org.eclipse.jetty.server.Server.handle(Server.java:462)      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)      at java.lang.Thread.run(Thread.java:745)

Yes, there is some strangeness in the BOSH connector restart logic. Tracking here: OF-877

As a workaround, try setting the “httpbind.enabled” system property to true, then restart openfire.

Oh, I’ve already “fixed” it. The problem was, that the websocket.jar plugin was in the plugin folder. I removed that, and the error above disappeared.

I am curious what is that bug in restart logic? But I’ll just wait for your PR :wink:

OK, thanks for the info. Interesting glitch with the websockets plugin … I am actually looking at bringing websockets into the core, so will watch for that potential conflict.

Here’s another report about an exception using 3.10.0 beta with the websockets plugin https://community.igniterealtime.org/blogs/ignite/2015/01/21/openfire-3100-beta? et=blogs.comment.created#comment-9002 (exception is in the second comment on this blog post).