You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Chris Szmajda (JIRA)" <ji...@apache.org> on 2015/02/24 02:03:59 UTC

[jira] [Created] (SSHD-417) Memory leak in IoServiceListenerSupport.managedSessions when clients cut connections quickly

Chris Szmajda created SSHD-417:
----------------------------------

             Summary: Memory leak in IoServiceListenerSupport.managedSessions when clients cut connections quickly
                 Key: SSHD-417
                 URL: https://issues.apache.org/jira/browse/SSHD-417
             Project: MINA SSHD
          Issue Type: Bug
    Affects Versions: 0.13.0
            Reporter: Chris Szmajda
         Attachments: testing-stash-7105.zip

Raised from https://jira.atlassian.com/browse/STASH-7105

If you open and close a connection really fast it seems to hold onto lots of them in {{IoServiceListenerSupport}}

In the wild this is sometimes caused by haproxy health checks.
Can be reproduced running this python script

{code}
import socket
import sys

TCP_IP = '127.0.0.1'
TCP_PORT = 7999

def makeTestConnection():
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((TCP_IP, TCP_PORT))
        s.close()

numConnections = 10000
if len(sys.argv) == 2:
        numConnections = int(sys.argv[1])

for i in range(numConnections):
        print(str(i))
        makeTestConnection()
{code}

If you take a heap dump afterwards you will see lots of session objects.
There seems to be a 2 minute auth timeout that gets hit and some of the sessions are removed but the majority are not removed.
Creating 10000 connections in seems to result in around 7000 of them hanging around.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)