2002-07-23 17:04:26

by David F Barrera

[permalink] [raw]
Subject: kernel BUG at page_alloc.c:92! & page allocation failure. order:0, mode:0x0

I should have stated that the problem is occurring on the 2.5.26 kernel,
NOT 2.4.26. My mistake. Also, the hardware is an IBM eServer 8-way x370
with 12GB or RAM, SCSI drives, 2GB swap. My observation was that not all
memory was being used at the time of the oops and error messages.

I have experienced the following errors while running a test suite (LTP
test suite) on the 2.5.26 kernel. Has anybody seen this problem, and, if
so, is there a patch for it? Please reply directly as I am not yet
subscribed to the mailing list. Thanks.


kernel BUG at page_alloc.c:92!
invalid operand: 0000
CPU: 7
EIP: 0010:[<c0132fae>] Not tainted
EFLAGS: 00010202
eax: 00000020 ebx: 00000009 ecx: c7fd0208 edx: c7fd0208
esi: fe0029fa edi: 00000000 ebp: ddeff009 esp: f6793eb4
ds: 0018 es: 0018 ss: 0018
Process top (pid: 4648, threadinfo=f6792000 task=f7320ce0)
Stack: c7fd0208 00000000 00000009 ddeff000 ddeff000 c011e137 f7320ce0
f5f4d8a0
bffff9f1 00000009 fe0029fa 00000000 ddeff009 c011e0fe f6792000
ddeff000
f5f4d8a0 c7fd0208 f5ba83c0 00000000 f5f4d8a0 ddeff000 ddeff000
c015cca3
Call Trace: [<c011e137>] [<c011e0fe>] [<c015cca3>] [<c015d016>]
[<c013c9e8>]
[<c013cb9a>] [<c010700b>]

Code: 0f 0b 5c 00 99 49 2d c0 8b 14 24 8b 42 14 83 e0 40 74 08 0f

mremap01: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
mremap01: page allocation failure. order:0, mode:0x0
mremap01: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
mremap01: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
pdflush: page allocation failure. order:0, mode:0x0
----------------------------------------------------------------------------------------------------------------------------
Ksymoops output:

ksymoops 2.4.1 on i686 2.5.26. Options used
-v /boot/vmlinux-2.5.26 (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.5.26/ (default)
-m /boot/System.map-2.5.26 (specified)

No modules in ksyms, skipping objects
Warning (read_lsmod): no symbols in lsmod, is /proc/modules a valid lsmod
file?
Warning (compare_maps): ksyms_base symbol
__wake_up_sync_R__ver___wake_up_sync not found in vmlinux. Ignoring
ksyms_base entry
Warning (compare_maps): ksyms_base symbol idle_cpu_R__ver_idle_cpu not
found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol
set_cpus_allowed_R__ver_set_cpus_allowed not found in vmlinux. Ignoring
ksyms_base entry
kernel BUG at page_alloc.c:92!
invalid operand: 0000
CPU: 7
EIP: 0010:[<c0132fae>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 00000020 ebx: 00000009 ecx: c7fd0208 edx: c7fd0208
esi: fe0029fa edi: 00000000 ebp: ddeff009 esp: f6793eb4
ds: 0018 es: 0018 ss: 0018
Stack: c7fd0208 00000000 00000009 ddeff000 ddeff000 c011e137 f7320ce0
f5f4d8a0
bffff9f1 00000009 fe0029fa 00000000 ddeff009 c011e0fe f6792000
ddeff000
f5f4d8a0 c7fd0208 f5ba83c0 00000000 f5f4d8a0 ddeff000 ddeff000
c015cca3
Call Trace: [<c011e137>] [<c011e0fe>] [<c015cca3>] [<c015d016>]
[<c013c9e8>]
[<c013cb9a>] [<c010700b>]
Code: 0f 0b 5c 00 99 49 2d c0 8b 14 24 8b 42 14 83 e0 40 74 08 0f

>>EIP; c0132fae <__free_pages_ok+4e/2e0> <=====
Trace; c011e137 <access_process_vm+177/1c0>
Trace; c011e0fe <access_process_vm+13e/1c0>
Trace; c015cca3 <proc_pid_cmdline+63/f0>
Trace; c015d016 <proc_info_read+46/100>
Trace; c013c9e8 <vfs_read+98/110>
Trace; c013cb9a <sys_read+2a/40>
Trace; c010700b <syscall_call+7/b>
Code; c0132fae <__free_pages_ok+4e/2e0>
00000000 <_EIP>:
Code; c0132fae <__free_pages_ok+4e/2e0> <=====
0: 0f 0b ud2a <=====
Code; c0132fb0 <__free_pages_ok+50/2e0>
2: 5c pop %esp
Code; c0132fb1 <__free_pages_ok+51/2e0>
3: 00 99 49 2d c0 8b add %bl,0x8bc02d49(%ecx)
Code; c0132fb7 <__free_pages_ok+57/2e0>
9: 14 24 adc $0x24,%al
Code; c0132fb9 <__free_pages_ok+59/2e0>
b: 8b 42 14 mov 0x14(%edx),%eax
Code; c0132fbc <__free_pages_ok+5c/2e0>
e: 83 e0 40 and $0x40,%eax
Code; c0132fbf <__free_pages_ok+5f/2e0>
11: 74 08 je 1b <_EIP+0x1b> c0132fc9
<__free_pages_ok+69/2e0>
Code; c0132fc1 <__free_pages_ok+61/2e0>
13: 0f 00 00 sldtl (%eax)


4 warnings issued. Results may not be reliable.


David F Barrera
[email protected]





2002-07-23 17:15:19

by Rik van Riel

[permalink] [raw]
Subject: Re: kernel BUG at page_alloc.c:92! & page allocation failure. order:0, mode:0x0

On Tue, 23 Jul 2002, David F Barrera wrote:

> I should have stated that the problem is occurring on the 2.5.26 kernel,
> NOT 2.4.26. My mistake. Also, the hardware is an IBM eServer 8-way
> x370 with 12GB or RAM, SCSI drives, 2GB swap.

Does the attached patch fix it ?

Rik
--
Bravely reimplemented by the knights who say "NIH".

http://www.surriel.com/ http://distro.conectiva.com/


===== mm/rmap.c 1.3 vs edited =====
--- 1.3/mm/rmap.c Tue Jul 16 18:46:30 2002
+++ edited/mm/rmap.c Tue Jul 23 14:01:23 2002
@@ -163,7 +163,7 @@
void page_remove_rmap(struct page * page, pte_t * ptep)
{
struct pte_chain * pc, * prev_pc = NULL;
- unsigned long pfn = pte_pfn(*ptep);
+ unsigned long pfn = page_to_pfn(page);

if (!page || !ptep)
BUG();

2002-07-23 18:16:38

by Paul Larson

[permalink] [raw]
Subject: Re: kernel BUG at page_alloc.c:92! & page allocation failure. order:0, mode:0x0

On Tue, 2002-07-23 at 12:17, Rik van Riel wrote:
> Does the attached patch fix it ?
> ===== mm/rmap.c 1.3 vs edited =====
> --- 1.3/mm/rmap.c Tue Jul 16 18:46:30 2002
> +++ edited/mm/rmap.c Tue Jul 23 14:01:23 2002

I doubt it, his probelem was on 2.5.26.