Re: 3-order allocation failed

From: Andrew Morton (andrewm@uow.edu.au)
Date: Thu Nov 02 2000 - 02:20:45 EST


"Pasi Kärkkäinen" wrote:
>
> I added show_stack(0); to the mm/page_alloc.c :
>
> /* No luck.. */
> printk(KERN_ERR "__alloc_pages: %lu-order allocation failed.\n", order)
> show_stack(0);
> return NULL;
>
> Then, when the first stack-dump came to kern.log, I gave it to
> ksymoops. The result can be seen on
>
> http://edu.joroinen.fi/~pk/ksymoops-output.
>

Alas:

Nov 1 12:48:34 mansion kernel: c3543e80 c01e5be0 00000002 00000000 00000007 c12277c8 00000007 00000007
Nov 1 12:48:34 mansion kernel: 00000000 c02200d4 c012bb44 c01288ad c12277c8 00000246 00000007 00000000
Nov 1 12:48:34 mansion kernel: 00000001 c0128ab9 c12277c8 00000007 c6529e60 00000000 c885ed60 c886e222
Nov 1 12:48:34 mansion kernel: Call Trace: [inet_check_attr+49792/72172] [<c012bb44>] [<c01288ad>] [<c0128ab9>] [<c885ed60>] [<c886e222>] [<c885ed60>]
Nov 1 12:48:39 mansion kernel: [<c886911c>] [<c885e185>] [<c013866d>] [<c012f782>] [<c012e9b1>] [<c012e8ea>] [<c012ebdc>] [<c010a31f>] <3>__alloc_pages: 2-order
allocation failed.

...

Trace; c886911c <[cpia]cpia_open+88/160>
Trace; c885e185 <[videodev]video_open+79/94>
Trace; c013866d <permission+95/f4>
Trace; c012f782 <chrdev_open+3e/4c>
Trace; c012e9b1 <dentry_open+bd/148>
Trace; c012e8ea <filp_open+52/5c>
Trace; c012ebdc <sys_open+38/b4>
Trace; c010a31f <system_call+33/38>
Trace; c886911c <[cpia]cpia_open+88/160>

So your klogd tried to interpret the trace and screwed it up. Then
ksymoops tried to interpret klogd's output and screwed it up.

Could you please change you init scripts so `klogd' is
started with the `-x' option and then restart your logging
daemons? There's a reasonable chance that if you do this
your klogd will segfault and stop working when it sees the
trace - I'm not sure if Debian have fixed this one.

Alternatively, if you still have that kernel,

cd /usr/src/linux
gdb vmlinux
x/10i 0xc01e5be0
x/10i 0xc02200d4
x/10i 0xc012bb44
x/10i 0xc01288ad
[etc]

That should (finally) tell us where the allocations are occurring.
-
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 : Tue Nov 07 2000 - 21:00:11 EST