[
https://issues.apache.org/jira/browse/SSHD-877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhenliang Su updated SSHD-877:
------------------------------
Description:
When the binding fails in org.apache.sshd.common.io.nio2.Nio2Acceptor#bind, the
file descriptor will be leaked.
Possible reasons:
When AsynchronousServerSocketChannel#bind bind a port that has already been
listened to, the code will throw a BindException, but the code does not handle
the exception, causing the socket to have no chance to be closed. Eventually
results in a limit on the number of maximum file descriptors that exceed the
system.
Compile Main.java and run it on a linux machine.
Use the client to connect to the server and the client to set up x11
forwarding. Using lsof on the machine where the server is located, you can see
the file descriptors that have not been released.
was:
When the binding fails in org.apache.sshd.common.io.nio2.Nio2Acceptor#bind, the
file descriptor will be leaked.
Possible reasons:
When AsynchronousServerSocketChannel#bind bind a port that has already been
listened to, the code will throw a BindException, but the code does not handle
the exception, causing the socket to have no chance to be turned off.
Eventually results in a limit on the number of maximum file descriptors that
exceed the system.
Compile Main.java and run it on a linux machine.
Use the client to connect to the server and the client to set up x11
forwarding. Using lsof on the machine where the server is located, you can see
the file descriptors that have not been released.
> org.apache.sshd.common.io.nio2.Nio2Acceptor#bind failed cause file descriptor
> leak
> ----------------------------------------------------------------------------------
>
> Key: SSHD-877
> URL: https://issues.apache.org/jira/browse/SSHD-877
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 1.7.0
> Environment: java: 1.8
> os: centos7
> ssh client: xshell 5
> Reporter: Zhenliang Su
> Priority: Major
> Attachments: Main.java, nio2acceptor.png
>
>
> When the binding fails in org.apache.sshd.common.io.nio2.Nio2Acceptor#bind,
> the file descriptor will be leaked.
> Possible reasons:
> When AsynchronousServerSocketChannel#bind bind a port that has already been
> listened to, the code will throw a BindException, but the code does not
> handle the exception, causing the socket to have no chance to be closed.
> Eventually results in a limit on the number of maximum file descriptors that
> exceed the system.
>
> Compile Main.java and run it on a linux machine.
> Use the client to connect to the server and the client to set up x11
> forwarding. Using lsof on the machine where the server is located, you can
> see the file descriptors that have not been released.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)