kernel BUG at page_alloc.c:176, 2.4.0test9pre7

From: Jacob Luna Lundberg (jacob@velius.chaos2.org)
Date: Sun Oct 01 2000 - 21:49:20 EST


I got a nice bug printout followed by a hard lock earlier today. Had to
write the bug output down by hand so it could be off but I tried hard to
get it right. This was triggered while I was untarring some source code.
The computer hadn't been up long (about ten minutes) and wasn't running
much else besides tar. As I mention in the subject, the bug was at
page_alloc.c:176.

This computer is a K6-2 350 with 128Mb ram and 150Mb swap, and the kernel
is unpatched except for pre7. If anybody needs more info please just ask.

>From ksymoops:
ksymoops 2.3.4 on i586 2.4.0-test9. Options used
     -v /usr/src/linux/vmlinux (specified)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.0-test9/ (default)
     -m /usr/src/linux/System.map (default)

invalid operand: 0000
CPU: 0
EIP: 0010:[<c01302d2>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010092
eax: 00000020 ebx: c11c0368 ecx: c0294428 edx: 00000008
esi: 00000002 edi: c029574c ebp: 00000001 esp: c6a85ea8
ds: 0018 es: 0018 ss: 0018
Process tar (pid: 954, stackpage=c6a85000)
Stack: c023f6a5 c023f873 000000b0 c0295718 c6df5bc0 c02958f0 00000000 00005976
       00000282 00000000 c0295718 c0130588 00000000 c6df5bc0 00000336 0000001a
       c0156392 c11c03f0 00000005 00000001 c02958ec c012802a c11c2afc c11c2afc
Call Trace: [<c023f6a5>] [<c023f873>] [<c0130588>] [<c0156392>] [<c012802a>]
       [<c0128384>] [<c0128749>] [<c0128684>] [<c0133ff5>] [<c010a7f7>]
Code: 0f 0b 83 c4 0c 83 c7 f4 4d c1 ee 01 8b 07 89 58 04 89 03 89

>>EIP; c01302d2 <rmqueue+14a/2a0> <=====
Trace; c023f6a5 <tvecs+221d/20718>
Trace; c023f873 <tvecs+23eb/20718>
Trace; c0130588 <__alloc_pages+b0/274>
Trace; c0156392 <ext2_readpage+e/14>
Trace; c012802a <generic_file_readahead+226/344>
Trace; c0128384 <do_generic_file_read+23c/53c>
Trace; c0128749 <generic_file_read+61/7c>
Trace; c0128684 <file_read_actor+0/64>
Trace; c0133ff5 <sys_read+8d/c0>
Trace; c010a7f7 <system_call+37/40>
Code; c01302d2 <rmqueue+14a/2a0>
00000000 <_EIP>:
Code; c01302d2 <rmqueue+14a/2a0> <=====
   0: 0f 0b ud2a <=====
Code; c01302d4 <rmqueue+14c/2a0>
   2: 83 c4 0c addl $0xc,%esp
Code; c01302d7 <rmqueue+14f/2a0>
   5: 83 c7 f4 addl $0xfffffff4,%edi
Code; c01302da <rmqueue+152/2a0>
   8: 4d decl %ebp
Code; c01302db <rmqueue+153/2a0>
   9: c1 ee 01 shrl $0x1,%esi
Code; c01302de <rmqueue+156/2a0>
   c: 8b 07 movl (%edi),%eax
Code; c01302e0 <rmqueue+158/2a0>
   e: 89 58 04 movl %ebx,0x4(%eax)
Code; c01302e3 <rmqueue+15b/2a0>
  11: 89 03 movl %eax,(%ebx)
Code; c01302e5 <rmqueue+15d/2a0>
  13: 89 00 movl %eax,(%eax)

Line 176 is the BUG(); below:

static inline struct page * expand (zone_t *zone, struct page *page,
        unsigned long index, int low, int high, free_area_t * area)
{
        unsigned long size = 1 << high;

        while (high > low) {
                if (BAD_RANGE(zone,page))
                        BUG();
...

-Jacob

-- 

posisanic, paw-sih-SAN-ick, noun. 1. POS ISA NIC. 2. Why my computer and my cable modem don't get along very well.

-- Jacob's Book of Less Well Known Computer Terminology

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Oct 07 2000 - 21:00:09 EST