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)