Subject: Re: FIN_WAIT1 / TCP_CORK / 2.2 -- reproducible bug and test case

From: Martin Pool <[email-masked]>
Date: Wed, 18 Sep 2002 12:30:14 +1000

For what it's worth, I can also reproduce the bug on 2.2.22rc3.  It's
on a non-SMP machine with a very standard kernel config, no
firewalling, Debian 2.2.  

I'm testing it under VMWare, but the same symptoms were observed by
other people on real hardware with Red Hat 6.2.  It was originally
noticed in distcc, and this test case is basically just a
stripped-down version of the same code.

If the program uncorks the socket before closing it, then it cleans up
properly.  However, if distcc is killed, then it can't do that and the
problem occurs.  (The most recent version makes an effort to always
uncork, but obviously for e.g. SIGKILL it can't do much other than
avoid corks entirely.)  Some people observed a couple of hundred (?)
sockets getting into this state.

-- 
Martin