TCP connections are zombied

thoth@purplefrog.com
Thu, 12 Mar 1998 11:14:36 -0500


OK. I'm a little behind in kernel revs:

type-a:45 # uname -a
Linux type-a.ortge.ufl.edu 2.0.29 #1 Tue May 20 14:15:26 EDT 1997 i586

[thoth@tongue thoth]$ uname -a
Linux tongue.purplefrog.com 2.0.30 #1 Wed Jun 4 15:02:33 EDT 1997 i586 unknown

The machines tongue and type-a are separated by the internet which, as we
all know, is broken. I have a cron job that probes connectivity between the
two and pages me if the situation is totally fucked for 3 out of the 5
samples (5 minute intervals).

However, my scripts have found a new and exciting failure mode (well, it's
not exciting. It's actually boring).

type-a:12 $ netstat -at | grep tongue
tcp 0 0 type-a.ortge.ufl.e:1531 tongue.purplefrog.:wwws ESTABLISHED
tcp 0 0 type-a.ortge.ufl.e:2040 tongue.purplefrog.:wwws ESTABLISHED
tcp 0 0 type-a.ortge.ufl.e:2034 tongue.purplefrog.c:www FIN_WAIT2
tcp 0 0 type-a.ortge.ufl.e:1222 tongue.purplefrog.c:www FIN_WAIT2
tcp 0 0 type-a.ortge.ufl.e:1221 tongue.purplefrog.c:www FIN_WAIT2
tcp 0 0 type-a.ortge.ufl.e:1462 tongue.purplefrog.:wwws ESTABLISHED
tcp 0 0 type-a.ortge.ufl.e:1150 tongue.purplefrog.:wwws ESTABLISHED
tcp 0 0 type-a.ortge.ufl.e:1400 tongue.purplefrog.c:www FIN_WAIT2
tcp 0 0 type-a.ortge.ufl.e:1068 tongue.purplefrog.c:www FIN_WAIT2
tcp 0 0 type-a.ortge.ufl.e:1053 tongue.purplefrog.:wwws ESTABLISHED
type-a:13 $

[thoth@tongue thoth]$ netstat -at | grep type-a
[thoth@tongue thoth]$

It looks like type-a is smoking crack. I have a feeling that Linux doesn't
recover from extended periods of packet loss. I have observed intervals of
5-30 minutes with packet loss ranging rather randomly between 0 and 100%.

What diagnostics can I give you guys to help you make linux recover from
this sort of situation? These processes have been in this state all night,
perhaps longer. Is there nothing in the TCP spec that will allow them to
realize that the connection is toast?

I am not subscribed to linux-kernel.

-- 
Bob Forsman                                   thoth@gainesville.fl.us
           http://www.gainesville.fl.us/~thoth/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu