Openfire drops Users / After service restart working again

Hi community,

we are operating Openfire 4.1.3 on a Ubuntu 14.04 VM. Clients all using Spark to connect. All is based within an IPSEC Network. All Tunnels are working. From time to time clients are disconnecting and disappear from the roster. I already chose the option “do not diconnect clients that are idle”. When I restart the openfire service manually, all disconnected users are available again. Sometimes Spark crashes while restarting the service but thats another problem.

Here are some logs, maybe it can help understanding the problem:

java.io.IOException: Die Wartezeit für die Verbindung ist abgelaufen
2017.07.25 10:12:56 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x00000054: nio socket, server, null => 0.0.0.0/0.0.0.0:5222)
at java.lang.Thread.run(Thread.java:745)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1132)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$800(AbstractPoll ingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.removeSessions(Abstract PollingIoProcessor.java:560)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPolli ngIoProcessor.java:590)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.clearWriteRequestQueue( AbstractPollingIoProcessor.java:646)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireExceptionCaught(Defau ltIoFilterChain.java:451)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextExceptionCaught(D efaultIoFilterChain.java:461)
at org.apache.mina.core.filterchain.IoFilterAdapter.exceptionCaught(IoFilterAdapte r.java:102)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.exceptionCaug ht(DefaultIoFilterChain.java:760)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1100(DefaultIoFilt erChain.java:47)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextExceptionCaught(D efaultIoFilterChain.java:461)
at org.apache.mina.filter.ssl.SslFilter.exceptionCaught(SslFilter.java:544)
org.apache.mina.core.write.WriteToClosedSessionException
2017.07.25 10:12:54 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x00000057: nio socket, server, null => 0.0.0.0/0.0.0.0:5222)
at java.lang.Thread.run(Thread.java:745)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1124)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPoll ingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:653)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:664)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoP rocessor.java:690)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
java.io.IOException: Die Wartezeit für die Verbindung ist abgelaufen
2017.07.25 10:12:54 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x0000001A: nio socket, server, /XXX.XXX.XX.XX:50770 => 0.0.0.0/0.0.0.0:5222)
at java.lang.Thread.run(Thread.java:745)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1124)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPoll ingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:653)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:664)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoP rocessor.java:690)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
java.io.IOException: Die Wartezeit für die Verbindung ist abgelaufen
2017.07.25 10:12:54 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x00000057: nio socket, server, /XXX.XXX.XX.XX:50111 => /172.17.32.10:5222)
at java.lang.Thread.run(Thread.java:745)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1124)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPoll ingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:653)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:664)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoP rocessor.java:690)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
java.io.IOException: Die Wartezeit für die Verbindung ist abgelaufen
2017.07.25 10:12:54 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x00000053: nio socket, server, /XXX.XXX.XX.XX:51384 => /172.17.32.10:5222)
at java.lang.Thread.run(Thread.java:745)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635 )
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
at org.eclipse.jetty.server.Server.handle(Server.java:499)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.jav a:110)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandler Collection.java:215)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:106 1)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185 )
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:11 27)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:22 3)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:165)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:226)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:53)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:76)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1652)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1669)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:226)
at org.jivesoftware.openfire.keystore.IdentityStore.containsDomainCertificate(Iden tityStore.java:364)
at org.jivesoftware.util.CertificateManager.getServerIdentities(CertificateManager .java:325)
at org.jivesoftware.util.cert.SANCertificateIdentityMapping.mapIdentity(SANCertifi cateIdentityMapping.java:75)
at org.jivesoftware.util.cert.SANCertificateIdentityMapping.parseOtherName(SANCert ificateIdentityMapping.java:160)
at org.jivesoftware.util.cert.SANCertificateIdentityMapping.parseOtherNameXmppAddr (SANCertificateIdentityMapping.java:213)
java.lang.ClassCastException: org.bouncycastle.asn1.DERTaggedObject cannot be cast to org.bouncycastle.asn1.ASN1String
2017.07.25 09:56:45 org.jivesoftware.util.cert.SANCertificateIdentityMapping - Unable to parse a byte array (of length 27) as a subjectAltName ‘otherName’. It is ignored.
at java.lang.Thread.run(Thread.java:745)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1124)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPoll ingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:653)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:664)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoP rocessor.java:690)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
java.io.IOException: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt
2017.07.25 09:44:04 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x0000005B: nio socket, server, null => 0.0.0.0/0.0.0.0:5222)
at java.lang.Thread.run(Thread.java:745)

Thanks for your help in advance…

cheers, Lars