Re: TCP crashes kernel

Wolfgang Walter (
Fri, 27 Feb 1998 12:39:58 +0100

On Fri, Feb 27, 1998 at 10:55:30AM +0000, Alan Cox wrote:
> > For the following I used libc 5.4.44 and linux-pthread 0.7, kernel 2.0.33
> libc5 has imitation pthreads. Its the clone() case that does it in their
> case. It isnt just load as it is with some othe rfolks (the folks still
> seeing tcp funnies in 2.0.3x not off clone please do try the patch I sent)

Hmm, I used linuxthread 0.7 and did not use the pthread coming with libc5.
Indeed, the libc5 mit-pthread is not installed at all on my system.

Following the linux-pthread 0.7 documentation, it uses clone() and is for
libc5 (in libc6 it is already part of libc itself). Please not that linuxpthread
has its own implementations of gethostbyaddr_r, ... (but they seem to be
identical to those of libc 5.4.44). As they simply call gethostbyaddr or
gethostbyname, respectively, protected by a mutex they probably do not leed
to real overlapping network activity. But, correct me if I am wrong, the
read() function as kernel system call will cause true overlapping network
activity of the threads.

Calling ps I can see the threads as processes as it should be for a cloned()
based pthread implementation.

> Alan

I never observed network problems on my machine (P120, ne2000, lib5, 2.0.30
- 2.0.33). Though, we had some of these freezes reported as well as some of
the descibed oopses on machines running www-servers. But we never had any
problems on machines which do nothing than routing: they all run since 2.0.30
without interruption other than replacing the kernel with a newer version.
Another funny thing is that our web-proxy and primary nameserver does not
have these problems though under heavy load.

So my experiences are: the machines are very stable if one of the 2 conditions
are true:

- only one network card (ne2000 clone), no forwarding
- only forwarding, but no tcp-connections of there own

Though, with crash (neither with the canged nor the original one) I can't get
any oopses or crashes on any of our machines.

Wolfgang Walter

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to