Feng Jiajie created SSHD-1059:
---------------------------------

             Summary: Server heartbeat during new started unfinished KEX make 
session error and close
                 Key: SSHD-1059
                 URL: https://issues.apache.org/jira/browse/SSHD-1059
             Project: MINA SSHD
          Issue Type: Bug
            Reporter: Feng Jiajie


I've enabled the server heartbeat:
{code:java}
sshServer.setSessionHeartbeat(SessionHeartbeatController.HeartbeatType.IGNORE, 
TimeUnit.SECONDS, 30);{code}
An error occurred after the system had been running for 3 days.

TL;DR log:
{code:java}
2020-08-18 12:49:57.041 Server: Initiating key re-exchange
2020-08-18 12:49:57.054 Server: handleKexMessage
2020-08-18 12:49:57.054 Server: sendNewKeys
2020-08-18 12:49:57.055 Server: sendHeartbeat : heartbeat while KEX not finished
2020-08-18 12:49:57.059 Server: handleNewKeys
2020-08-18 12:49:57.059 Server: receiveNewKeys
2020-08-18 12:49:57.086 Client: SSH2_DISCONNECT_MAC_ERROR - MAC Error
{code}
client log (INFO):
{code:java}
2020-08-18 12:49:57.086 |- WARN [sshd-SshClient[55222ee9]-nio2-thread-1] [--] 
org.apache.sshd.client.session.ClientSessionImpl : 
exceptionCaught(ClientSessionImpl[[email protected]/10.120.237.168:12366])[state=Opened]
 SshException: MAC Error
2020-08-18 12:49:57.104 |- INFO [sshd-SshClient[55222ee9]-nio2-thread-1] [--] 
org.apache.sshd.client.session.ClientSessionImpl : 
Disconnecting(ClientSessionImpl[[email protected]/10.120.237.168:12366]):
 SSH2_DISCONNECT_MAC_ERROR - MAC Error
2020-08-18 12:49:57.167 |- INFO [TunnelSessionService] [--] 
c.s.e.t.d.MySshClient : session closed.{code}
server log (TRACE):
{code:java}

2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleReadCycleCompletion(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) read 100 bytes
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
o.a.sshd.server.session.ServerConnectionService    : 
globalRequest(ServerConnectionService[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]])
 received SSH_MSG_GLOBAL_REQUEST keepalive@mina want-reply=true
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
encode(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) packet 
#42906 sending command=81[SSH_MSG_REQUEST_SUCCESS] len=1
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
writePacket(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) Writing 68 bytes
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleCompletedWriteCycle(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) finished writing len=68
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
isRekeyTimeIntervalExceeded(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288])
 re-keying: last=Tue Aug 18 11:49:27 CST 2020, now=Tue Aug 18 12:49:57 CST 
2020, diff=3629979, max=3600000
2020-08-18 12:49:57.041 |- INFO  
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
requestNewKeysExchange(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288])
 Initiating key re-exchange
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
sendKexInit(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
Send SSH_MSG_KEXINIT
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
encode(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) packet 
#42907 sending command=20[SSH_MSG_KEXINIT] len=1012
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
writePacket(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) Writing 1076 bytes
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleCompletedWriteCycle(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) finished writing len=1076
2020-08-18 12:49:57.041 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-3] [--] 
o.a.sshd.server.session.ServerConnectionService    : 
sendGlobalResponse(ServerConnectionService[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]])[keepalive@mina]
 result=Replied, want-reply=true
2020-08-18 12:49:57.042 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleReadCycleCompletion(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) read 1252 bytes
2020-08-18 12:49:57.042 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
handleKexInit(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
SSH_MSG_KEXINIT
2020-08-18 12:49:57.042 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
setNegotiationResult(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288])
 Kex: server->client aes128-ctr [email protected] none
2020-08-18 12:49:57.042 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
setNegotiationResult(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288])
 Kex: client->server aes128-ctr [email protected] none
2020-08-18 12:49:57.047 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleReadCycleCompletion(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) read 196 bytes
2020-08-18 12:49:57.047 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.kex.DHGServer               : 
next(DHGServer[ecdh-sha2-nistp521])[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]]
 process command=SSH_MSG_KEXDH_INIT
2020-08-18 12:49:57.054 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.kex.DHGServer               : 
next(DHGServer[ecdh-sha2-nistp521])[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]][K_S]:
  00 .... b1
2020-08-18 12:49:57.054 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.kex.DHGServer               : 
next(DHGServer[ecdh-sha2-nistp521])[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]][f]:
    04 .... cf
2020-08-18 12:49:57.054 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.kex.DHGServer               : 
next(DHGServer[ecdh-sha2-nistp521])[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]][sigH]:
 00 .... ed
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.kex.DHGServer               : 
next(DHGServer[ecdh-sha2-nistp521])[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]]
 Send SSH_MSG_KEXDH_REPLY
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
encode(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) packet 
#42908 sending command=31[31] len=696
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
writePacket(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) Writing 756 bytes
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleCompletedWriteCycle(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) finished writing len=756
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
handleKexMessage(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288])[ecdh-sha2-nistp521]
 KEX processing complete after cmd=30
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
sendNewKeys(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
Send SSH_MSG_NEWKEYS
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
encode(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) packet 
#42909 sending command=21[SSH_MSG_NEWKEYS] len=1
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
writePacket(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) Writing 68 bytes
2020-08-18 12:49:57.054 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-10] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleCompletedWriteCycle(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) finished writing len=68
2020-08-18 12:49:57.055 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-timer-thread-1] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
writePacket(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56286]) Writing 84 bytes
2020-08-18 12:49:57.055 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-timer-thread-1] [--] 
o.a.sshd.server.session.ServerConnectionService    : 
sendHeartbeat(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
heartbeat type=IGNORE, interval=30000
2020-08-18 12:49:57.055 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-8] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleCompletedWriteCycle(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56286]) finished writing len=84
2020-08-18 12:49:57.055 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-timer-thread-1] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
encode(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) packet 
#42910 sending command=2[SSH_MSG_IGNORE] len=27
2020-08-18 12:49:57.055 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-timer-thread-1] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
writePacket(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) Writing 84 bytes
2020-08-18 12:49:57.056 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-6] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleCompletedWriteCycle(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) finished writing len=84
2020-08-18 12:49:57.059 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-13] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleReadCycleCompletion(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) read 68 bytes
2020-08-18 12:49:57.059 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-13] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
handleNewKeys(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
SSH_MSG_NEWKEYS command=SSH_MSG_NEWKEYS
2020-08-18 12:49:57.059 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-13] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
receiveNewKeys(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
inCipher=BaseCipher[AES, ivSize=16, kdfSize=16,AES/CTR/NoPadding, 
blkSize=16],outCipher=BaseCipher[AES, ivSize=16, kdfSize=16,AES/CTR/NoPadding, 
blkSize=16], recommended blocks limit=4294967296, actual=4294967296
2020-08-18 12:49:57.081 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
org.apache.sshd.common.io.nio2.Nio2Session         : 
handleReadCycleCompletion(Nio2Session[local=/10.120.237.168:12366, 
remote=/10.120.30.131:56288]) read 84 bytes
2020-08-18 12:49:57.083 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
handleDisconnect(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288])
 SSH_MSG_DISCONNECT reason=SSH2_DISCONNECT_MAC_ERROR, [lang=] msg=MAC Error
2020-08-18 12:49:57.086 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
org.apache.sshd.server.session.ServerSessionImpl   : 
close(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) Closing 
immediately
2020-08-18 12:49:57.086 |- INFO  
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] c.s.e.t.s.SshdServer  
     : session closed. 
2020-08-18 12:49:57.087 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.s.c.session.helpers.SessionTimeoutListener     : 
sessionClosed(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
un-tracked
2020-08-18 12:49:57.087 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.SequentialCloseable : 
doClose(org.apache.sshd.common.util.closeable.SequentialCloseable$1@7a221d89) 
closing 
ParallelCloseable[DefaultCloseFuture[id=ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]][value=null]]
 immediately=true
2020-08-18 12:49:57.087 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.ParallelCloseable   : doClose(true) pending 
closeables: 2
2020-08-18 12:49:57.087 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.server.session.ServerConnectionService    : 
close(ServerConnectionService[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]])
 Closing immediately
2020-08-18 12:49:57.088 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.server.session.ServerConnectionService    : 
stopHeartBeat(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
stopping
2020-08-18 12:49:57.088 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.server.session.ServerConnectionService    : 
stopHeartBeat(ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]) 
stopped
2020-08-18 12:49:57.088 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.SequentialCloseable : 
doClose(org.apache.sshd.common.util.closeable.SequentialCloseable$1@19fa2ab) 
closing 
DefaultForwardingFilter[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]]
 immediately=true
2020-08-18 12:49:57.088 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.forward.DefaultForwardingFilter    : 
close(DefaultForwardingFilter[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]])
 Closing immediately
2020-08-18 12:49:57.088 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.SequentialCloseable : 
doClose(org.apache.sshd.common.util.closeable.SequentialCloseable$1@34c5cd74) 
closing 
ParallelCloseable[DefaultCloseFuture[id=DefaultForwardingFilter[ServerSessionImpl[debugboxreset1644-SER42@/10.120.30.131:56288]]][value=null]]
 immediately=true
2020-08-18 12:49:57.088 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.ParallelCloseable   : doClose(true) completed 
pending: 0
2020-08-18 12:49:57.088 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.SequentialCloseable : 
doClose(org.apache.sshd.common.util.closeable.SequentialCloseable$1@34c5cd74) 
closing Nio2Acceptor[[/0:0:0:0:0:0:0:0:24719]] immediately=true
2020-08-18 12:49:57.088 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
org.apache.sshd.common.io.nio2.Nio2Acceptor        : 
close(Nio2Acceptor[[/0:0:0:0:0:0:0:0:24719]]) Closing immediately
2020-08-18 12:49:57.088 |- DEBUG 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
org.apache.sshd.common.io.nio2.Nio2Acceptor        : Unbinding 
[/0:0:0:0:0:0:0:0:24719]
2020-08-18 12:49:57.088 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
org.apache.sshd.common.io.nio2.Nio2Acceptor        : 
unbind(/0:0:0:0:0:0:0:0:24719)
2020-08-18 12:49:57.088 |- TRACE 
[sshd-SshServer[4a734c04](port=12366)-nio2-thread-1] [--] 
o.a.sshd.common.util.closeable.SequentialCloseable : 
doClose(org.apache.sshd.common.util.closeable.SequentialCloseable$1@278a5436) 
closing ParallelCloseable[DefaultCloseFuture[id=Nio2Acceptor[[]]][value=null]] 
immediately=true

{code}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to