Re: kernel panic - not syncing: out of memory and no killableprocesses

From: David Rientjes
Date: Thu Sep 17 2009 - 16:30:25 EST


On Thu, 17 Sep 2009, Eric Paris wrote:

> the next-20090916 tree still panic's the same way. As does Linus'
> latest git tree ab86e5765
>
> I'll try bisecting between v2.6.31 and master if it would give better
> data than trying to bisect between two -next trees, but I'm sorta stuck
> with a machine that won't boot and doesn't tell me much about why.
>

It's panicking because the oom killer is getting called during boot and
there are no user tasks to kill, i.e. there are only kthreads running,
which it can't kill. It sounds like something is trying to allocate
higher order pages that cannot be found on your 512M machine because of
fragmentation.

Try merging the following patch to get more information such as the
allocation order and gfp_mask. It will also show the VM size of all
kthreads and the state of your system memory to deterine whether there's a
page allocator issue, lowmem_reserve_ratio is too high, etc.
---
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -540,6 +540,15 @@ retry:
/* Found nothing?!?! Either we hang forever, or we panic. */
if (!p) {
read_unlock(&tasklist_lock);
+ printk(KERN_WARNING "%s invoked oom-killer: "
+ "gfp_mask=0x%x, order=%d, oomkilladj=%d\n",
+ current->comm, gfp_mask, order, current->oomkilladj);
+ task_lock(current);
+ cpuset_print_task_mems_allowed(current);
+ task_unlock(current);
+ dump_stack();
+ show_mem();
+ dump_tasks(NULL);
panic("Out of memory and no killable processes...\n");
}

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