Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
3
-
9223372036854775807
Description
[ 8500.380063] Kernel panic - not syncing: Out of memory and no killable processes... [ 8500.385004] CPU: 0 PID: 25664 Comm: kworker/u4:0 Kdump: loaded Tainted: G OE ------------ 3.10.0-862.14.4.el7.x86_64 #1 [ 8500.390771] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 [ 8500.393649] Call Trace: [ 8500.395723] [<ffffffffa0313754>] dump_stack+0x19/0x1b [ 8500.398474] [<ffffffffa030d29f>] panic+0xe8/0x21f [ 8500.401112] [<ffffffff9fd9b50a>] out_of_memory+0x4ea/0x4f0 [ 8500.403935] [<ffffffffa030f423>] __alloc_pages_slowpath+0x5d6/0x724 [ 8500.406940] [<ffffffff9fda18b5>] __alloc_pages_nodemask+0x405/0x420 [ 8500.409955] [<ffffffff9fdec058>] alloc_pages_current+0x98/0x110 [ 8500.412877] [<ffffffff9fd9bf3e>] __get_free_pages+0xe/0x40 [ 8500.415664] [<ffffffff9fc775b2>] pgd_alloc+0x22/0x150 [ 8500.418237] [<ffffffff9fc90958>] mm_init+0x158/0x1b0 [ 8500.420734] [<ffffffff9fc90ee0>] mm_alloc+0x80/0x110 [ 8500.423203] [<ffffffff9fe279d9>] do_execve_common.isra.24+0x249/0x6e0 [ 8500.426004] [<ffffffff9fe34d1c>] ? poll_select_copy_remaining+0xfc/0x150 [ 8500.428928] [<ffffffff9fe30900>] ? vfs_unlink+0x170/0x190 [ 8500.431440] [<ffffffff9fe27e88>] do_execve+0x18/0x20 [ 8500.433811] [<ffffffff9fcb2bef>] ____call_usermodehelper+0xff/0x140 [ 8500.436484] [<ffffffff9fcb2c30>] ? ____call_usermodehelper+0x140/0x140 [ 8500.439191] [<ffffffff9fcb2c4e>] call_helper+0x1e/0x20 [ 8500.441533] [<ffffffffa03255f7>] ret_from_fork_nospec_begin+0x21/0x21 [ 8500.444160] [<ffffffff9fcb2c30>] ? ____call_usermodehelper+0x140/0x140 crash-7.2.5> kmem -i PAGES TOTAL PERCENTAGE TOTAL MEM 945937 3.6 GB ---- FREE 21480 83.9 MB 2% of TOTAL MEM USED 924457 3.5 GB 97% of TOTAL MEM SHARED 64 256 KB 0% of TOTAL MEM BUFFERS 35 140 KB 0% of TOTAL MEM CACHED 388 1.5 MB 0% of TOTAL MEM SLAB 11322 44.2 MB 1% of TOTAL MEM crash-7.2.5> kmem -p | awk '/head/ { print extent ; extent=1 } /tail/ { extent++ }' | sort -n | uniq -c 1 1734 2 820 4 210 8 2 16 41 32 1 64 1472 512
So vmcore shows 1472 block with size 2MB. During memory analyze we've found that 2MB chunks belongs to REINT_SETATTR request.
crash-7.2.5> ptlrpc_request ffff96af35364000
> rq_repbuf_len = 2097152,
This size is set at mdc_setattr() function
mdc_setattr(){ .... req_capsule_set_size(&req->rq_pill, &RMF_ACL, RCL_SERVER, req->rq_import->imp_connect_data.ocd_max_easize); .. }
ocd_max_easize is 1MB, a reply is bit larger and roundup set it to 2MB.
The Patrick's patch 4f78164f helps here and set 64KB.
But there is no need in ACL at all for mdc_setattr, because server doesn't fill it.