Cgroup OOM bug

Jeremy Hanmer jeremy at hq.newdream.net
Fri May 7 14:30:21 PDT 2010


I've found a reproducible case where you can create an infinite loop inside the oom killer if you create a cgroup with a single process that has oom_adj=-17 and trigger an OOM situation inside that cgroup.

It seems that oom_adj should probably be ignored in the case where it makes the OOM situation unsolvable.  Here's an excerpt from the console output when the bug is triggered:

Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child
Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a child



More information about the Containers mailing list