TCP bug in 2.0.2[01] (at least) - HTTP sessions hang

Chris Fearnley (cjf@netaxs.com)
Fri, 20 Sep 1996 17:08:10 -0400 (EDT)


Greetings,

There seems to be a bug in 2.0.20 and 2.0.21 (I haven't tested others
yet) in the tcp code. The following scenario works under 1.2.13.

hilda.madviking.com is a WWW server running apache 1.0.5 with virtual
domains. Over my PPP connection (31.2 connection), I can't get data
from a connection to /most/ of these virtual domains (it seems to be
related to the /size/ of the page as smaller pages go through while
larger pages get hung in FIN_WAIT1 according to netstat -t). The
domain howsweet.com fails 100% of the time (it also fails from another
Linux box on ethernet connected via a T1 and reportedly fails with
Win95 too, but may succeed from some systems). These client systems
have no trouble connecting to the same machine running 1.2.13.

Line from netstat -t:
tcp 0 2784 howsweet.com:www chestnut2-5.slip.n:1918 FIN_WAIT1

I managed to get tcpdump data at both ends of the connection while
running "telnet howsweet.com 80" and then "GET /" from my PPP account.
Although the connection is established quickly, the "GET /" command
never receives /any/ data. The tcpdump data begins just before the
connection is first established.

tcpdump -vvel port 80 on PPP machine running 2.0.20:
11:04:46.133828 I 48 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: S 3701848082:3701848082(0) win 512 <mss 1460> (ttl 64, id 8095)
11:04:46.333853 I 48 00 0021: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: S 3524708554:3524708554(0) ack 3701848083 win 31744 <mss 1460> (ttl 58, id 266)
11:04:46.333853 I 44 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 64, id 8097)
11:04:49.104197 I 51 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: P 1:8(7) ack 1 win 31744 (DF) (ttl 64, id 8101)
11:04:50.014310 I 1367 00 0021: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: P 1461:2784(1323) ack 8 win 31744 (DF) (ttl 58, id 277)
11:04:50.014310 I 44 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 64, id 8103)
11:04:50.024311 I 44 00 0021: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: F 2784:2784(0) ack 8 win 31744 (ttl 58, id 278)
11:04:50.024311 I 44 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 64, id 8104)
11:04:54.794903 I 44 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 64, id 8109)
11:05:08.106557 I 44 00 0021: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: F 8:8(0) ack 1 win 31744 (ttl 64, id 8112)
11:05:08.306582 I 44 00 0021: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: . ack 9 win 31744 (ttl 58, id 287)

tcpdump -vvel port 80 on hilda.madviking.com running 2.0.21:
16:10:10.725045 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 60: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: S 3701848082:3701848082(0) win 512 <mss 1460> (ttl 57, id 8095)
16:10:10.725045 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 58: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: S 3524708554:3524708554(0) ack 3701848083 win 31744 <mss 1460> (ttl 64, id 266)
16:10:10.964973 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 60: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 57, id 8097)
16:10:13.704148 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 61: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: P 1:8(7) ack 1 win 31744 (DF) (ttl 57, id 8101)
16:10:13.714145 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 1514: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: . 1:1461(1460) ack 8 win 31744 (DF) (ttl 64, id 276)
16:10:13.714145 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 1377: howsweet.com.www > ches tnut2-5.slip.netaxs.com.1912: P 1461:2784(1323) ack 8 win 31744 (DF) (ttl 64, id 277)
16:10:13.714145 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 54: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: F 2784:2784(0) ack 8 win 31744 (ttl 64, id 278)
16:10:14.613875 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 60: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 57, id 8103)
16:10:14.643865 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 60: chestnut2-5.slip.netaxs.com.1912 > howsweet.com.www: . ack 1 win 31744 (ttl 57, id 8104)
16:10:16.713242 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 1514: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: . 1:1461(1460) ack 8 win 31744 (DF) (ttl 64, id 282)
16:10:19.382439 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 60: chestnut2-5.slip.netaxs.com. 1912 > howsweet.com.www: . ack 1 win 31744 (ttl 57, id 8109)
16:10:22.711437 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 1514: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: . 1:1461(1460) ack 8 win 31744 (DF) (ttl 64, id 285)
16:10:32.708427 0:0:a5:e5:58:0 0:c0:df:48:39:38 ip 60: chestnut2-5.slip.netaxs.com. 1912 > howsweet.com.www: F 8:8(0) ack 1 win 31744 (ttl 57, id 8112)
16:10:32.708427 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 54: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: . ack 9 win 31744 (ttl 64, id 287)
16:10:34.707825 0:c0:df:48:39:38 0:0:a5:e5:58:0 ip 1514: howsweet.com.www > chestnut2-5.slip.netaxs.com.1912: . 1:1461(1460) ack 9 win 31744 (DF) (ttl 64, id 290)

-- 
Christopher J. Fearnley            |    Linux/Internet Consulting
cjf@netaxs.com, cjf@onit.net       |    UNIX SIG Leader at PACS
http://www.netaxs.com/~cjf         |    (Philadelphia Area Computer Society)
ftp://ftp.netaxs.com/people/cjf    |    Design Science Revolutionary
"Dare to be Naive" -- Bucky Fuller |    Explorer in Universe