[ 
https://issues.apache.org/jira/browse/SSHD-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17147915#comment-17147915
 ] 

Lyor Goldstein commented on SSHD-1025:
--------------------------------------

It's hard to tell whether this is an SSHD issue or a code mis-use - i.e., is it 
the code using SSHD that does not release sessions or is it SSHD itself that 
fails to release them. In any case, version 2.1.0 is pretty old - we recently 
release 2.5.0 and are probably releasing 2.5.1 to fix an SFTP issue. I 
recommend you try 2.5.0 (or at the very least 2.4.0) and see if this issue is 
re-produced.

> "java.net.SocketException: Too many open files" exception on long run of 
> application with Apache Mina SSHD 2.1.0
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: SSHD-1025
>                 URL: https://issues.apache.org/jira/browse/SSHD-1025
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 2.1.0
>         Environment: Oracle Linux 7
>            Reporter: Binay Paul
>            Priority: Major
>
> This issue is observed during the performance testing of Oracle 
> Communications Sessions Delivery Manager (OCSDM) release 8.2.1 with Apache 
> Mina SSHD 2.1.0 version, after a long continuous run for about 15 to 16 hours 
> of OCSDM with processing REST/SOAP API calls in a 3 node cluster setup.
> Root Cause Analysis:
> When OCSDMis running continuously with REST/SOAP consecutive requests, list 
> of opened file descriptors count increases rapidly like some where around 23 
> Lakh and this leads to an exception "java.net.SocketException: Too many open 
> files".
> As a result of this DB read/write operations fails and OCSDM shutdown task is 
> triggered by the application.
> The lsof command shows FD named "PIPE" and "EventPoll" are been opened by SDM 
> process in large number.
> These FDs are opened by third party library Apache Mina which is used to make 
> SSH/SFTP connections to 297 devices which are present in SDM (Used for SDM 
> performance testing).
> Walk around  : As of now for OCSDM  release 8.2.1 library Apache Mina is 
> replaced with JSCH 0.1.55 which is been used in previous versions of SDM and 
> application works as expected.
>  
> Console.out :
>  [Wed Nov 13 23:49:36 EST 2019] WARNING: RMI TCP Accept-1099: accept loop for 
> ServerSocket[addr=0.0.0.0/0.0.0.0,localport=1099] throws
>  [Wed Nov 13 23:49:36 EST 2019] java.net.SocketException: Too many open files
>  [Wed Nov 13 23:49:36 EST 2019] at 
> java.net.PlainSocketImpl.socketAccept(Native Method)
>  [Wed Nov 13 23:49:36 EST 2019] at 
> java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
>  [Wed Nov 13 23:49:36 EST 2019] at 
> java.net.ServerSocket.implAccept(ServerSocket.java:545)
>  [Wed Nov 13 23:49:36 EST 2019] at 
> java.net.ServerSocket.accept(ServerSocket.java:513)
>  [Wed Nov 13 23:49:36 EST 2019] at 
> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
>  [Wed Nov 13 23:49:36 EST 2019] at 
> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
>  [Wed Nov 13 23:49:36 EST 2019] at java.lang.Thread.run(Thread.java:745)
> BEServer.log :
>  
> 11/13 23:49:41.300 INFO [com.acmepacket.ems.server.main.BEServer] - Method: 
> [shutdown] Thread: [Thread-176494:334181] Msg:[##### BEServer shutdown was 
> called ##### : Starting shutdown of BE server. ]
>  11/13 23:49:41.300 INFO [com.acmepacket.ems.server.main.BEServer] - Method: 
> [shutDownApacheServer] Thread: [Thread-176494:334181] Msg:[##### WebServer 
> shutdown was called ##### : Starting shutdown of http server]
>  11/13 23:49:41.300 ERROR [com.acmepacket.ems.server.main.BEServer] - Method: 
> [shutDownApacheServer] Thread: [Thread-176494:334181] Msg:[Exception thrown 
> in attempting to shutdown Web server. Reason : Cannot run program 
> "../Apache/httpse
>  rver/bin/stopHttpServer.sh": error=24, Too many open files]
>  java.io.IOException: Cannot run program 
> "../Apache/httpserver/bin/stopHttpServer.sh": error=24, Too many open files
>  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[?:1.8.0_74]
>  at java.lang.Runtime.exec(Runtime.java:620) ~[?:1.8.0_74]
>  at java.lang.Runtime.exec(Runtime.java:450) ~[?:1.8.0_74]
>  at java.lang.Runtime.exec(Runtime.java:347) ~[?:1.8.0_74]
>  at 
> com.acmepacket.ems.server.main.BEServer.shutDownApacheServer(BEServer.java:989)
>  [ACMEPacketBEServer.jar:?]
>  at 
> com.acmepacket.ems.server.main.BEServer.shutdownWebServers(BEServer.java:954) 
> [ACMEPacketBEServer.jar:?]
>  at com.acmepacket.ems.server.main.BEServer.shutdown(BEServer.java:433) 
> [ACMEPacketBEServer.jar:?]
>  at com.acmepacket.ems.server.main.BEServer.shutdown(BEServer.java:403) 
> [ACMEPacketBEServer.jar:?]
>  at 
> com.acmepacket.ems.server.services.database.ReplicatedXMLDatabaseManagerImpl.shutDownAfterFault(ReplicatedXMLDatabaseManagerImpl.java:2536)
>  [ACMEPacketBEServer.jar:?]
>  at 
> com.acmepacket.ems.server.services.database.ReplicatedXMLDatabaseManagerImpl.handlePanicEvent(ReplicatedXMLDatabaseManagerImpl.java:2568)
>  [ACMEPacketBEServer.jar:?]
>  at com.sleepycat.db.internal.DbEnv.handle_panic_event_notify(DbEnv.java:115) 
> [db.jar:?]
>  Caused by: java.io.IOException: error=24, Too many open files
>  at java.lang.UNIXProcess.forkAndExec(Native Method) ~[?:1.8.0_74]
>  at java.lang.UNIXProcess.<init>(UNIXProcess.java:248) ~[?:1.8.0_74]
>  at java.lang.ProcessImpl.start(ProcessImpl.java:134) ~[?:1.8.0_74]
>  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ~[?:1.8.0_74]
>  ... 10 more



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to