Re: [SOLVED] Re: webserver stalls [was Re: bug in (linux) slattach]

jb1
2002-10-29T10:25:34Z

On 22 Oct 2002, Harry Kalogirou wrote:

> > Ok the quest is over.

Not yet. I think _tcp_chksumraw in tcp_output.c needs the same fixes as
those you applied to _tcp_chksum. Without them I still got partial files
with telnet/get.

There's *still* something wrong, but it shows up most frequently when I
urlget from one ELKS box to another (yes, they have different IP
addresses). Rarely, all goes as it should; more often, the entire file
comes in a reasonable time, but I never get the command prompt; often,
nothing comes in and I never get the command prompt. Once, nothing seemed
to happen for about 10 minutes, but when I checked the machines about 10
minutes later, the file had come in but there was no command prompt. I had
enabled a second getty on that machine, so I was able to log in and run
netstat on both machines while urlget was hung. Here are the results
(about an hour later):

On the client ("urlget") machine (192.168.1.100) --
1 ESTABLISHED 4000ms 1025 0.0.0.0 2
2 ESTABLISHED 2400ms 1024 192.168.1.144 80
3 LISTEN 4000MS 80 0.0.0.0 0

On the server ("sender") (1.2.168.1.144) --
1 ESTABLISHED 4000ms 1024 0.0.0.0 2
2 LISTEN 4000ms 80 0.0.0.0 0

Obviously, the server has discarded the connection, but the client machine
thinks it's still connected.

I'm also not sure the client port number (the one that's 1024 or greater)
is handled properly. Each time I connect from a Linux box the port number
is incremented, but once I observered that a first, successful, connection
from ELKS was from port 1024, and the next, hanging, attempt was *also*
port 1024. Connections from Linux usually, but not always, work;
connections from ELKS rarely work.

Diagnosing this stuff is very time-consuming because "kill" doesn't seem
to do anything, so I must reboot both machines. Since ELKS "telnet"
doesn't do anything but connect (and logs me out when it terminates!) I
can't compare telnet from Linux and ELKS. I can only compare "urlget" from
both systems, and since there's no tcpdump for ELKS I can't even determing
if a failure is actually due to urlget.