https://issues.apache.org/bugzilla/show_bug.cgi?id=53237

          Priority: P2
            Bug ID: 53237
          Assignee: dev@tomcat.apache.org
           Summary: TCP connections are stuck in SYN_RECV
          Severity: normal
    Classification: Unclassified
                OS: Linux
          Reporter: wilbra...@iivip.com
          Hardware: All
            Status: NEW
           Version: 1.1.22
         Component: Library
           Product: Tomcat Native

Created attachment 28783
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=28783&action=edit
test reproduction file

When a TCP connection is opened to a tomcat (6 & 7) instance with tomcat-native
installed, the connection is left in 'SYN_RECV' until a request is made or the
connections is cleared (within 4 minutes on my system).

If tomcat-native is not installed on that same system, the TCP connection goes
to the 'ESTABLISHED' state.

The client system where the connection is originating sees the connection as
'ESTABLISHED' and will get errors if it has waited longer than the time before
the SYN_RECV connection is cleared to make it's request.

I've attached a small program that shows the error scenario.

1)  Compile and run the attached socketTest.java passing in a hostname/ip as
the first argument and a port as the second argument.  i.e.  'java socketTest
<host> <port>'
2)  Run netstat on the system running tomcat/tomcat-native to see the socket
connection status.  I used a bash while loop: 'while true; do date; netstat |
grep 8080; sleep 10; done'.

With tomcat-native installed I would see:
tcp        0      0 <server>:8080 <client>:62848 SYN_RECV

With no tomcat-native installed I would see:
tcp        0      0 <server>:8080 <client>:62848 ESTABLISHED

tomcat-native should not prevent these connections from moving to 'ESTABLISHED'

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to