opencontainers / opencontainers/runc

docker-runc init failed on centos 7.6 xfs XFS: runc:[1:CHILD](3580) possible memory allocation deadlock in kmem_zone_alloc (mode:0x82d0)

Open
#2,039 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
13.5k
Forks
2.3k
Avg merge
2d 8h
Merged PRs (30d)
30

Description

docker-runc init failed
in console loop print
XFS: runc:1:CHILD possible memory allocation deadlock in kmem_zone_alloc (mode:0x82d0)
cat /proc/3580/stack
[] congestion_wait+0x82/0x110
[] kmem_zone_alloc+0x8c/0x130 [xfs]
[] xfs_trans_alloc+0x6d/0x140 [xfs]
[] xfs_inactive_ifree+0x55/0x230 [xfs]
[] xfs_inactive+0x8b/0x130 [xfs]
[] xfs_fs_destroy_inode+0x95/0x190 [xfs]
[] destroy_inode+0x3b/0x60
[] evict+0x115/0x180
[] iput+0xfc/0x190
[] __dentry_kill+0x120/0x180
[] dput+0xb0/0x160
[] drop_mountpoint+0x16/0x30
[] pin_kill+0x7d/0x100
[] group_pin_kill+0x21/0x30
[] namespace_unlock+0x71/0x80
[] drop_collected_mounts+0x54/0x60
[] put_mnt_ns+0x24/0x30
[] create_new_namespaces+0x165/0x180
[] unshare_nsproxy_namespaces+0x5a/0xc0
[] SyS_unshare+0x173/0x2e0
[] system_call_fastpath+0x22/0x27
[] 0xffffffffffffffff
the memory use low
Tasks: 240 total, 1 running, 239 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.1 us, 0.8 sy, 0.0 ni, 73.5 id, 24.5 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32780772 total, 12619844 free, 16482460 used, 3678468 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10126064 avail Mem

ps -aux --forest
root 3558 0.0 0.0 7488 2804 ? Sl Apr02 0:21 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemo
root 3572 0.0 0.0 138832 7832 ? Sl Apr02 0:00 _ docker-runc --root /var/run/docker/runtime-runc/moby --log /run/docker/conta
root 3579 0.0 0.0 18388 4348 ? S Apr02 0:00 _ docker-runc init
root 3580 1.3 0.0 18388 2384 ? D Apr02 197:00 _ docker-runc init

system
3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file, test, or entry point is named. Start by reproducing docker-runc init on CentOS 7.6 with kernel 3.10.0-957.5.1.el7.x86_64, then inspect the supplied /proc stack, console output, and process tree for the XFS allocation deadlock. Done requires identifying whether runc or the host kernel/filesystem causes the failure and defining a reproducible fix or test.

Written by the indexing model from the issue text.

Assessment

Tech stack
centos, docker, go, linux
Domain
infrastructure, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.