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

Harry Kalogirou
2002-10-29T12:37:27Z

> 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.

It is fixed.

> 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.

ELKS reuses the last used port if it is not still in use. I don't think
that this is a problem.

> Diagnosing this stuff is very time-consuming because "kill" doesn't seem
> to do anything, so I must reboot both machines. Since ELKS "telnet"

The kernel in the CVS will probably handle this more gracefully and
actualy the process.

> 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.

You mean that you do "telnet bla.bla 80" and after you connect you can't
do "get /"?

Harry