linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* bug in memcg oom-killer results in a hung syscall in another process in the same cgroup
@ 2016-07-09 23:49 Shayan Pooya
  2016-07-11  6:41 ` Michal Hocko
  0 siblings, 1 reply; 15+ messages in thread
From: Shayan Pooya @ 2016-07-09 23:49 UTC (permalink / raw)
  To: cgroups mailinglist, LKML, linux-mm

I came across the following issue in kernel 3.16 (Ubuntu 14.04) which
was then reproduced in kernels 4.4 LTS:
After a couple of of memcg oom-kills in a cgroup, a syscall in
*another* process in the same cgroup hangs indefinitely.

Reproducing:

# mkdir -p strace_run
#  mkdir /sys/fs/cgroup/memory/1
# echo 1073741824 > /sys/fs/cgroup/memory/1/memory.limit_in_bytes
# echo 0 > /sys/fs/cgroup/memory/1/memory.swappiness
# for i in $(seq 1000); do ./call-mem-hog
/sys/fs/cgroup/memory/1/cgroup.procs & done

Where call-mem-hog is:
#!/bin/sh
set -ex
echo $$ > $1
echo "Adding $$ to $1"
strace -ff -tt ./mem-hog 2> strace_run/$$


Initially I thought it was a userspace bug in dash as it only happened
with /bin/sh (which points to dash) and not with bash. I see the
following hanging processes:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     20999  0.0  0.0   4508   100 pts/6    S    16:28   0:00
/bin/sh ./call-mem-hog /sys/fs/cgroup/memory/1/cgroup.procs

However, when using strace, I noticed that sometimes there is actually
a mem-hog process hanging on sbrk syscall (Of course the
memory.oom_control is 0 and this is not expected).
Sending an ABRT signal to the waiting strace process then resulted in
the mem-hog process getting oom-killed by the kernel.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-07-18 13:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-09 23:49 bug in memcg oom-killer results in a hung syscall in another process in the same cgroup Shayan Pooya
2016-07-11  6:41 ` Michal Hocko
2016-07-11 17:40   ` Shayan Pooya
2016-07-11 18:33     ` Shayan Pooya
2016-07-12  7:19       ` Michal Hocko
2016-07-12 15:35         ` Shayan Pooya
2016-07-12 15:52           ` Konstantin Khlebnikov
2016-07-12 16:52             ` Oleg Nesterov
2016-07-12 22:57             ` Shayan Pooya
2016-07-14 13:22               ` Oleg Nesterov
2016-07-14 15:35                 ` Shayan Pooya
2016-07-15 16:58                   ` Shayan Pooya
2016-07-18 13:53                     ` Oleg Nesterov
2016-07-13  8:08           ` Michal Hocko
2016-07-12  7:17     ` Michal Hocko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).