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:04:00 UTC

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

     [ https://issues.apache.org/jira/browse/SSHD-417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Szmajda updated SSHD-417:
-------------------------------
    Attachment: testing-stash-7105.zip

Attached {{testing-stash-7105.zip}} which contains a stripped down test case that reproduces the issue. 

> 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)