Project

General

Profile

Actions

Bug #45090

closed

mds: inode's xattr_map may reference a large memory.

Added by Zheng Yan about 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
octopus,nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Thread 9 "ms_dispatch" hit Breakpoint 1, CInode::encode_inodestat (this=0x555558056b00, bl=..., session=0x555557136480, dir_realm=0x555557116a00, snapid=..., 
    max_bytes=523476, getattr_caps=0) at /home/zhyan/Ceph/ceph/src/mds/CInode.cc:3831
3831          if (pxattrs) {
(gdb) n
3832        for (const auto &p : *pxattrs)
(gdb) p
The history is empty.
(gdb) n
314        unsigned length() const { return _len; }
(gdb) p p
$1 = {first = "user.test", second = {_raw = 0x55555750fb60, _off = 369399, _len = 4}}

The large memory is likely from buffer of dirfrag fetch (omap fetch)

mds may trim some inodes, reload them later. In the worst case. each inode's xattr_map may reference different memory.


Related issues 3 (0 open3 closed)

Related to CephFS - Bug #37399: mds: severe internal fragment when decoding xattr_map from log eventResolvedZheng Yan11/27/2018

Actions
Copied to CephFS - Backport #45600: nautilus: mds: inode's xattr_map may reference a large memory.ResolvedNathan CutlerActions
Copied to CephFS - Backport #45601: octopus: mds: inode's xattr_map may reference a large memory.ResolvedWei-Chung ChengActions
Actions

Also available in: Atom PDF