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