Re: kernel BUG at page_alloc.c:98 -- compiling with distcc

Marco Roeland
2004-04-02T15:06:00Z

On Friday April 2nd 2004 Marco Fais wrote:

> Mmmh, all the servers use an RTL-8139 compatible card, with the same
> 8139too driver. So this can be the problem.

Hey, I'm by no means an expert. Suggesting the driver is to blame was
mostly based on the fact that compiling locally worked, and from a
remote machine triggered a panick. The rest of your description below
indicates that it probably *isnt't* the driver.

> But in this moment I'm doing a kernel compile while receiving and sending
> huge amounts of data using netcat, as you suggested... and works perfectly.

> Ok, next I will test the second network card on the server, just to avoid
> the possibility of an hardware failure -- but I have other 4 servers that
> show the same behaviour, so I don't think it's caused by faulty hardware.

If 4 other servers show the same behaviour, and netcatting a lot of data
doesn't panick the machine, that highly suggests that the network card
and driver are innocent! I thought only one machine had the problem.

> Running this test for about an hour, using all the available bandwidth on
> the NIC, while compiling the kernel in a loop... no problem. Using distcc,
> compiling the same files, cause a kernel panic in a few seconds.
> So this test doesn't show the problem, but I think that anyway the network
> card driver (or the hardware) is involved.

Why do you think so, it seems there's nothing wrong with it; you've just
tested that?

One last suggestion:

Have you tried a local distcc compile, but specifying the host name as
it's IP address or its real name. Distcc treats 'localhost' differently,
but if it sees an IP address it will use the network route. As specified
in the man page this is slower, but if there's something peculiar with
the interaction of distcc with the network layer, then perhaps this
triggers it. You can also use the '--verbose' option on distccd, perhaps
it reports something useful before panicking.
--
Marco Roeland