Hi all,
I'm experiencing a strange behavior in OpenFire 3.9.3 that I'm not able to reproduce systematically: I've a Window service that connects multiple clients (built on MatriX), let's say 1 every 5 seconds. It occasionally happens that I get no OnLogin/OnBind events and so I quit for timeout after some time.
If I look at the client logs, nothing happens until my timer expires; if I look at the server, nothing is reported in Error/Warn/Info logs, but I found two different patterns in Debug:
when everything goes fine I see:
2015.10.14 17:33:20 org.apache.mina.filter.executor.ExecutorFilter - Launching thread for /0:0:0:0:0:0:0:1:64881
2015.10.14 17:33:20 org.apache.mina.filter.executor.ExecutorFilter - Exiting since queue is empty for /0:0:0:0:0:0:0:1:64881
2015.10.14 17:33:20 org.apache.mina.filter.executor.ExecutorFilter - Launching thread for /0:0:0:0:0:0:0:1:64881
2015.10.14 17:33:20 org.apache.mina.filter.executor.ExecutorFilter - Exiting since queue is empty for /0:0:0:0:0:0:0:1:64881
2015.10.14 17:33:20 org.apache.mina.filter.executor.ExecutorFilter - Launching thread for /0:0:0:0:0:0:0:1:64881
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.NIOConnection - NIOConnection: startTLS: using c2s
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.ClientConnectionHandler - [/0:0:0:0:0:0:0:1:64881] doHandshake()
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.ClientConnectionHandler - [/0:0:0:0:0:0:0:1:64881] handshakeStatus=NEED_UNWRAP
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.ClientConnectionHandler - [/0:0:0:0:0:0:0:1:64881] unwrapHandshake()
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.ClientConnectionHandler - [/0:0:0:0:0:0:0:1:64881] inNetBuffer: java.nio.DirectByteBuffer[pos=0 lim=0 cap=16921]
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.ClientConnectionHandler - [/0:0:0:0:0:0:0:1:64881] appBuffer: java.nio.DirectByteBuffer[pos=0 lim=33842 cap=33842]
2015.10.14 17:33:20 org.jivesoftware.openfire.nio.ClientConnectionHandler - [/0:0:0:0:0:0:0:1:64881] Unwrap res:Status = BUFFER_UNDERFLOW HandshakeStatus = NEED_UNWRAP
bytesConsumed = 0 bytesProduced = 0
2015.10.14 17:33:20 org.apache.mina.filter.executor.ExecutorFilter - Exiting since queue is empty for /0:0:0:0:0:0:0:1:64881
and when it doesn't I see:
2015.10.14 17:33:40 org.apache.mina.filter.executor.ExecutorFilter - Launching thread for /0:0:0:0:0:0:0:1:64890
2015.10.14 17:33:40 org.apache.mina.filter.executor.ExecutorFilter - Exiting since queue is empty for /0:0:0:0:0:0:0:1:64890
2015.10.14 17:33:40 org.apache.mina.filter.executor.ExecutorFilter - Launching thread for /0:0:0:0:0:0:0:1:64890
2015.10.14 17:33:40 org.apache.mina.filter.executor.ExecutorFilter - Exiting since queue is empty for /0:0:0:0:0:0:0:1:64890
2015.10.14 17:33:50 org.apache.mina.filter.executor.ExecutorFilter - Launching thread for /0:0:0:0:0:0:0:1:64890
2015.10.14 17:33:50 org.apache.mina.filter.executor.ExecutorFilter - Exiting since queue is empty for /0:0:0:0:0:0:0:1:64890
I'm not sure about that, but it seems to me it just says that the thread exits without doing the doHandshake() stuff.
Someone can give me a hint?
Thank you for your replies