[jboss-jira] [JBoss JIRA] (WFLY-3652) Network connection leak

Seth Miller (JIRA) issues at jboss.org
Thu Sep 25 17:30:02 EDT 2014


    [ https://issues.jboss.org/browse/WFLY-3652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006263#comment-13006263 ] 

Seth Miller commented on WFLY-3652:
-----------------------------------

I am still able to repro this, or a very similar leak in Async on the latest 8.x HEAD branch (Undertow 1.1.0.RC2, which is newer than  1.1.0.Beta8 currently in wildfly-core/HEAD and newer than 1.1.0.Beta7 used in 9.0.0.Alpha1).

Here's the related heap dump output;  in load testing we are leaking about 100mb an hour.  I am willing to submit a pull request if anyone has suggestions.

{code}
Class Name                                                                                                           | Shallow Heap | Retained Heap
----------------------------------------------------------------------------------------------------------------------------------------------------
this$0 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask @ 0x2318e2e40                            |           72 |            72
|- outerTask java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask @ 0x2318e2e40                      |           72 |            72
|- scheduledFuture org.eclipse.jetty.util.thread.ScheduledExecutorScheduler$ScheduledFutureTask @ 0x2318e2e88        |           24 |            96
|  '- task org.cometd.server.transport.AsyncJSONTransport$AsyncLongPollScheduler @ 0x2318e2dd8                       |           48 |           144
|     '- asyncListener io.undertow.servlet.spec.AsyncContextImpl$BoundAsyncListener @ 0x2318e2e08                    |           32 |           176
|        '- [0] java.lang.Object[1] @ 0x2318e2e28                                                                    |           24 |           200
|           '- array java.util.concurrent.CopyOnWriteArrayList @ 0x2786644e0                                         |           24 |           272
|              '- asyncListeners io.undertow.servlet.spec.AsyncContextImpl @ 0x278664498                             |           72 |           464
|                 |- asyncContext io.undertow.servlet.spec.HttpServletRequestImpl @ 0x2318e2738                      |           72 |           144
|                 |- asyncContext org.cometd.server.transport.AsyncJSONTransport$AsyncLongPollScheduler @ 0x2318e2dd8|           48 |           144
|                 |- this$0 io.undertow.servlet.spec.AsyncContextImpl$BoundAsyncListener @ 0x2318e2e08               |           32 |           176
|                 |- asyncContext io.undertow.servlet.spec.ServletOutputStreamImpl @ 0x278622580                     |           72 |         6,136
|                 |- asyncContext org.cometd.server.transport.AsyncJSONTransport$Writer @ 0x2786225c8                |           56 |         6,040
|                 |- this$0 io.undertow.servlet.spec.AsyncContextImpl$TimeoutTask @ 0x278664528                      |           16 |            16
|                 |- asyncContext org.cometd.server.transport.AsyncJSONTransport$UTF8Reader @ 0x2786645a0            |           40 |         1,664
|                 |- asyncContext io.undertow.servlet.spec.ServletInputStreamImpl @ 0x278664c20                      |           48 |         1,712
----------------------------------------------------------------------------------------------------------------------------------------------------
{code}

> Network connection leak
> -----------------------
>
>                 Key: WFLY-3652
>                 URL: https://issues.jboss.org/browse/WFLY-3652
>             Project: WildFly
>          Issue Type: Bug
>          Components: Web (Undertow)
>    Affects Versions: 8.1.0.Final
>         Environment: Linux 2.6.38-16-server
> Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
>            Reporter: Jan Vanhercke
>            Assignee: Stuart Douglas
>             Fix For: 9.0.0.Alpha1
>
>
> When using Asynchronous servlets and AsyncListeners for long polling we observe a connection leak in the undertow subsystem.
> Heap dumps show a large number of org.xnio.io.NioSocketConduit, io.undertow.server.protocol.http.HttpServerConnection and related objects.
> However, since the effective number of connections is far less, nearly all AsyncContext instances we find are in a complete state and lsof output returns a large number of sockets with 'can't identify protocol' entries indicating that sockets are kept open by the JVM but are in fact half closed by the network stack.
> Not all connections appear to be leaking, but over time, depending on the load, the server instance fills up. 



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the jboss-jira mailing list