Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
0.7.1
-
None
-
None
-
A computer try to connect to an unavaible TCP port, and retry every seconds simply using :
session = connector.connect(new InetSocketAddress(hostname, port),protocolProvider);
after some times this exception is fired :
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
at org.apache.mina.io.socket.SocketAcceptor$Worker.processSessions(SocketAcceptor.java:282)
at org.apache.mina.io.socket.SocketAcceptor$Worker.run(SocketAcceptor.java:233)A computer try to connect to an unavaible TCP port, and retry every seconds simply using : session = connector.connect(new InetSocketAddress(hostname, port),protocolProvider); after some times this exception is fired : java.io.IOException: Too many open files at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145) at org.apache.mina.io.socket.SocketAcceptor$Worker.processSessions(SocketAcceptor.java:282) at org.apache.mina.io.socket.SocketAcceptor$Worker.run(SocketAcceptor.java:233)
Description
(09:56:19) vrm: ran in a strange exception :
(09:56:20) vrm: 1 juin 2005 09:53:56 org.apache.mina.common.DefaultExceptionMonitor exceptionCaught
ATTENTION: Unexpected exception.
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
at org.apache.mina.io.socket.SocketAcceptor$Worker.processSessions(SocketAcceptor.java:282)
at org.apache.mina.io.socket.SocketAcceptor$Worker.run(SocketAcceptor.java:233)
(09:56:46) trustin: Too many open files..
(09:57:13) vrm: yep I try to connect to some devices who are offlines
(09:57:20) vrm: and I retry every 2 seconds
(09:57:46) trustin: devices offline? Could you explain it more?
(09:58:43) vrm: my server try to connect to another computer (SockectConnector), but the computer is down
(09:59:15) vrm: session = connector.connect(new InetSocketAddress(hostname, port),protocolProvider);
(09:59:26) vrm: it throw an IOException
(09:59:31) vrm: (of course)
(09:59:47) vrm: and my program try to reconnect 2 seconds later
(09:59:57) trustin: Ahhhhh I see.
(10:00:08) trustin: It seems like the it doesn't clean up failed socket.
(10:00:15) trustin: Could you post it to JIRA?
(10:00:28) trustin: I'll try to fix it tonight or tomorrow morning.
(10:00:37) vrm: you know where I can see if it's cleaned or not ? (it's perhaps in my code)
(10:01:18) vrm: before I post a nobug in jira
(10:01:52) trustin: You can't see its cleaned or not from outside of MINA.
(10:02:36) vrm: ok
(10:02:41) vrm: I post it