Bug ID: 63022
           Summary: Nio2Endpoint(SocketProcessorBase) for async request
                    doesn't decrement LimitLatch while handling socket
                    that is already closed
           Product: Tomcat 8
           Version: 8.5.34
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
  Target Milestone: ----

This bug has similar symptoms to Bug 61918 (Nio2Endpoint may miscount
connectionLimitLatch while closing socket that is already closed) however other
bug only addresses the case when request is served synchronously. In case of
asynchronous request, connectionCount(LimitLatch) is still not getting
decremented when socket is already closed. 

We are not sure what is causing socket to close independently in our network
however issue can be artificially reproduced by forcefully closing the socket
during "async" request(these steps are similar to steps to reproduce mentioned
in other Bug 61918). We used jconsole to monitor connectionCount and Yourkit
for looking into LimitLatch. In both avenues, count never got decremented.

Please see the attachment for:
1. Web application(SimpleWebApp)to recreate bug based on
tomcat-embed-core-8.5.37. Example request(/async_long?time=2)

2. Jconsole screenshot for connectionCount.
3. Yourkit screenshot for LimitLatch count.

You are receiving this mail because:
You are the assignee for the bug.
To unsubscribe, e-mail:
For additional commands, e-mail:

Reply via email to