Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-5749

[GSS](7.1.0) Short-lived Remote EJB client calls over SSL Leaking File Descriptors server side

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.1.0.DR5
    • 7.0.1.GA
    • Undertow
    • None
    • DR5
    • Hide

      Setup:

      • EAP 7.0 CP1 server running HelloWorld Stateless EJB
      • The EJB client is a standalone EJB client configured with jboss-ejb-client.properties, but is invoked in a bash while loop, so it is connecting/disconnecting upon each invocation.
      • The EJB client is run on the machine with JBoss and from a remote machine
      • After the test runs a for about an hour, the JBoss server runs out of file descriptors and then is no longer able to run.
      Show
      Setup: EAP 7.0 CP1 server running HelloWorld Stateless EJB The EJB client is a standalone EJB client configured with jboss-ejb-client.properties, but is invoked in a bash while loop, so it is connecting/disconnecting upon each invocation. The EJB client is run on the machine with JBoss and from a remote machine After the test runs a for about an hour, the JBoss server runs out of file descriptors and then is no longer able to run.

      Short-lived Remote EJB clients configured with jboss-ejb-client.properties calling EJB via SSL causing file descriptor leak on the server side.

      Since the clients are short-lived, once the JVM is started it will setup the remote connection and invoke the EJB and then the connection is closed when the JVM finishes. With 2 short lived clients calling the server over and over, it leaks file descriptors on the server side.

      Looking in the heap we see a lot of sun.security.ssl.SSLEngineImpl and suspect some issue in xnio or perhaps undertow :

      Class Name | Ref. Objects | Shallow Heap | Ref. Shallow Heap | Retained Heap
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      org.xnio.nio.WorkerThread @ 0xe1aa6948  default I/O-4 Thread                                   |            1 | 152 B |              32 B |      25.80 KB
      '- <Java Local>, delayWorkQueue java.util.TreeSet @ 0xe0b424b8                                 |            1 |         16 B |              32 B |      23.53 KB
         '- m java.util.TreeMap @ 0xe0b424c8 |            1 |         48 B |              32 B |      23.52 KB
            '- root java.util.TreeMap$Entry @ 0xf5cac080 |            1 |         40 B |              32 B |      23.45 KB
               '- key org.xnio.nio.WorkerThread$TimeKey @ 0xf5cac058                                 |            1 |         40 B |              32 B |       2.37 KB
                  '- command io.undertow.server.protocol.ParseTimeoutUpdater @ 0xf5cac010            |            1 |         48 B | 32 B |       2.33 KB
                     '- connection io.undertow.server.protocol.http.HttpServerConnection @ 0xf5cabd68|            1 |         96 B |              32 B |       2.28 KB
                        '- channel io.undertow.protocols.ssl.UndertowSslConnection @ 0xf5cabbe0 |            1 |         48 B |              32 B |          72 B
                           '- engine sun.security.ssl.SSLEngineImpl @ 0xf5c8a488                     |            1 |        136 B |              32 B |      25.48 KB
                              '- sslContext sun.security.ssl.SSLContextImpl$TLSContext @ 0xe1ac1970 |            1 |         64 B |              32 B |       5.12 KB
                                 '- serverCache sun.security.ssl.SSLSessionContextImpl @ 0xe1ac1b48  | 1 |         32 B |              32 B |     262.95 KB
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      Class Name | Ref. Objects | Shallow Heap | Ref. Shallow Heap | Retained Heap
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      org.xnio.nio.WorkerThread @ 0xe0afc450  default I/O-2 Thread                                   |          129 | 152 B |          17.13 KB |      23.52 KB
      |- <Java Local>, selector sun.nio.ch.EPollSelectorImpl @ 0xe0afc670                            |          123 |         72 B |          16.34 KB |       7.13 KB
      |- <Java Local>, delayWorkQueue java.util.TreeSet @ 0xe0afce38                                 |            6 |         16 B |             816 B |      21.23 KB
      |  '- m java.util.TreeMap @ 0xe0afce48 |            6 |         48 B |             816 B |      21.21 KB
      |     '- root java.util.TreeMap$Entry @ 0xf932a490 |            6 |         40 B |             816 B |      21.15 KB
      |        |- right java.util.TreeMap$Entry @ 0xf5635d68                                         |            3 |         40 B |             408 B |       9.42 KB
      |        |- left java.util.TreeMap$Entry @ 0xf92ea098                                          |            2 |         40 B |             272 B |       9.32 KB
      |        |- key org.xnio.nio.WorkerThread$TimeKey @ 0xf932a4b8                                 |            1 |         40 B |             136 B |       2.37 KB
      |        |  '- command io.undertow.server.protocol.ParseTimeoutUpdater @ 0xf932a4e0            |            1 |         48 B | 136 B |       2.33 KB
      |        |     '- connection io.undertow.server.protocol.http.HttpServerConnection @ 0xf932a510|            1 |         96 B |             136 B |       2.28 KB
      |        |        '- channel io.undertow.protocols.ssl.UndertowSslConnection @ 0xf932a570 |            1 |         48 B |             136 B |          72 B
      |        |           '- engine sun.security.ssl.SSLEngineImpl @ 0xf933dbe8                     |            1 |        136 B |             136 B |      25.48 KB
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      

              rhn-support-bmaxwell Brad Maxwell
              rhn-support-bmaxwell Brad Maxwell
              Radim Hatlapatka Radim Hatlapatka (Inactive)
              Radim Hatlapatka Radim Hatlapatka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: