Re: Signal 7 and "Couldn't get a free page..."

David Whysong (dwhysong@physics.ucsb.edu)
Mon, 28 Apr 1997 22:07:27 -0700 (PDT)


Seeing as I have been having the same signal 7 problems that others
reported, I applied Ingo's patch and did:

[root@Sleepy linux-2.1.36]# make zImage MAKE="make -j20"

It went for a while, then died like this:

gcc -D__KERNEL__ -I/usr/src/linux-2.1.36/include -Wall -Wstrict-prototypes
-O2 -fomit-frame-pointer -D__SMP__ -pipe -fno-strength-reduce -m486
-malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -D__SMP__
-c -o dcache.o dcache.c
SIGBUS: ayiee, couldnt allocate page table.
gcc: Internal compiler error: program cc1 got fatal signal 7
cpp: output pipe has been closed
make[2]: *** [file_table.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.1.36/fs'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.1.36/fs'
make: *** [linuxsubdirs] Error 2

Note -- I was running kernel 2.0.30 but compiling the source for 2.1.36. I
assume this is a kernel bug, and NOT a hardware fault? System is a dual
P-133 (Tyan Tomcat III board, Intel 430HX chipset) with 32 megs ECC RAM
and 116 megs swap. I'm not getting any NMI's on this system, by the way.
Memory error checking and correction is enabled, so I'm pretty sure I
don't have any RAM problems.

Some time ago, I was told that this problem was due to corruption in
reading data from disk to memory. Before I ran this test, I had the
impression that this was the case because I could do something like this:

/usr/src/linux# make zImage MAKE="make -j"
(compiles for a while, then dies with signal 7)
/usr/src/linux# dd if=/dev/hda of=/dev/null count=32 bs=1024K
/usr/src/linux# make zImage MAKE="make -j"

And the second build process dies at a _different point_, not the same
location as before. Occasionally, it completes without an error. The dd
process is supposed to clear out the buffers and cache.

Please cc any replies to me, I'm not on the kernel list.

David Whysong
dwhysong@physics.ucsb.edu
PGP Key fingerprint = 9D 51 6E CE 5F 38 F0 E7 56 3C 01 45 CF 03 9F 4A
Finger for PGP public key.