Your connection was closed due to an error

Hello. I installed Ubuntu 14.04.2 this morning and set the server up with OpenFire 3.9.3 with LDAP integration. I am able to see all my users and groups and even get logged in as users. However; once logged in; my client will only stay connected 20-60 seconds. If I restart openfire from the terminal I’m able to immediately log back in again. The log files seem to indicate that it’s an issue with my LDAP but i don’t understand why/how that’s an issue.

an excerpt of my log file:

2015.06.18 14:59:37 org.jivesoftware.openfire.ldap.LdapAuthProvider - Error connecting to LDAP server

javax.naming.CommunicationException: jccs-dc.jccs.local:389 [Root exception is java.net.UnknownHostException: jccs-dc.jccs.local]

at com.sun.jndi.ldap.Connection.(Connection.java:226)

at com.sun.jndi.ldap.LdapClient.(LdapClient.java:136)

at com.sun.jndi.ldap.LdapClientFactory.createPooledConnection(LdapClientFactory.ja va:64)

at com.sun.jndi.ldap.pool.Connections.(Connections.java:115)

at com.sun.jndi.ldap.pool.Pool.getPooledConnection(Pool.java:132)

at com.sun.jndi.ldap.LdapPoolManager.getLdapClient(LdapPoolManager.java:328)

at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1600)

at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2698)

at com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:316)

at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)

at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)

at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)

at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)

at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)

at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)

at javax.naming.InitialContext.init(InitialContext.java:242)

at javax.naming.ldap.InitialLdapContext.(InitialLdapContext.java:153)

at org.jivesoftware.util.JiveInitialLdapContext.(JiveInitialLdapContext.java :43)

at org.jivesoftware.openfire.ldap.LdapManager.getContext(LdapManager.java:548)

at org.jivesoftware.openfire.ldap.LdapManager.findUserDN(LdapManager.java:958)

at org.jivesoftware.openfire.ldap.LdapManager.findUserDN(LdapManager.java:911)

at org.jivesoftware.openfire.ldap.LdapAuthProvider.authenticate(LdapAuthProvider.j ava:123)

at org.jivesoftware.openfire.auth.AuthFactory.authenticate(AuthFactory.java:213)

at org.jivesoftware.openfire.admin.login_jsp._jspService(login_jsp.java:149)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1359)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:50)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:22 7)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:94 1)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186 )

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875 )

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandler Collection.java:250)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.jav a:149)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)

at org.eclipse.jetty.server.Server.handle(Server.java:349)

at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)

at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.j ava:936)

at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)

at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)

at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51 )

at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.jav a:586)

at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java :44)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.net.UnknownHostException: jccs-dc.jccs.local

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:579)

at java.net.Socket.connect(Socket.java:528)

at java.net.Socket.(Socket.java:425)

at java.net.Socket.(Socket.java:208)

at com.sun.jndi.ldap.Connection.createSocket(Connection.java:368)

at com.sun.jndi.ldap.Connection.(Connection.java:203)

Then it seems to repeat this over and over until finally nothing works within the admin console until I restart the openfire service again.

Any ideas?

Hi there!

This looks like a Problem with name resolution to me. Check if your openfire vm is able to resolve the name of your dc. (jccs-dc.jccs.local)

Also could you verify if you are able to browse your ad with the credentials you’ve supplied openfire, i guess any ldap browser would do the trick.

For example: LDAP Browser - Download - heise online

Also, check your logs on your domain controller. Do they help you?

Kind regards