[Bugs] [Bug 1417606] New: OOM kill of glusterfsd during continuous add-bricks

bugzilla at redhat.com bugzilla at redhat.com
Mon Jan 30 12:08:52 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1417606

            Bug ID: 1417606
           Summary: OOM kill of glusterfsd during continuous add-bricks
           Product: GlusterFS
           Version: 3.9
         Component: upcall
          Keywords: Triaged
          Severity: high
          Priority: high
          Assignee: bugs at gluster.org
          Reporter: ndevos at redhat.com
                CC: amukherj at redhat.com, ashah at redhat.com,
                    bugs at gluster.org, moagrawa at redhat.com,
                    nbalacha at redhat.com, pgurusid at redhat.com,
                    rcyriac at redhat.com, rgowdapp at redhat.com,
                    rhs-bugs at redhat.com, skoduri at redhat.com,
                    storage-qa-internal at redhat.com, sunnikri at redhat.com,
                    tdesala at redhat.com
        Depends On: 1412917



+++ This bug was initially created as a clone of Bug #1412917 +++

Hi,


We have found one code(the same is for up_fsetxxatR and
up_removexattr/up_fremovexattr) path that holds dict leak but there could be
other path also those are having leak .

>>>>>>>>>>>>>>>>>>>>>>

0x7ff423dac373 : mem_get0+0x13/0x90 [/usr/lib64/libglusterfs.so.0.0.1]
 0x7ff423d7d355 : get_new_dict_full+0x25/0x120
[/usr/lib64/libglusterfs.so.0.0.1]
 0x7ff423d7dbab : dict_new+0xb/0x20 [/usr/lib64/libglusterfs.so.0.0.1]
 0x7ff423d7fa0a : dict_copy_with_ref+0x3a/0xe0
[/usr/lib64/libglusterfs.so.0.0.1]
 0x7ff41419733a : up_setxattr+0x3a/0x450
[/usr/lib64/glusterfs/3.8.4/xlator/features/upcall.so]
 0x7ff423e16684 : default_setxattr_resume+0x1d4/0x250
[/usr/lib64/libglusterfs.so.0.0.1]
 0x7ff423da86ed : call_resume+0x7d/0xd0 [/usr/lib64/libglusterfs.so.0.0.1]
 0x7ff40fdf9957 : iot_worker+0x117/0x220
[/usr/lib64/glusterfs/3.8.4/xlator/performance/io-threads.so]
 0x7ff422be6dc5 : 0x7ff422be6dc5
[/usr/lib64/libpthread-2.17.so+0x7dc5/0x218000]


>>>>>>>>>>>>>>>>>>>>>>>>>>

I am trying to find other path also, will send a patch after spend some more
time on this.


Regards
Mohit Agrawal

--- Additional comment from Worker Ant on 2017-01-13 07:48:07 CET ---

REVIEW: http://review.gluster.org/16392 (upcall: Resolve dict leak in
up_removexattr/up_setxattr code path.) posted (#1) for review on master by
MOHIT AGRAWAL (moagrawa at redhat.com)

--- Additional comment from Worker Ant on 2017-01-16 09:45:03 CET ---

REVIEW: http://review.gluster.org/16392 (upcall: Resolve leak from
up_(f)removexattr in upcall code path) posted (#2) for review on master by
MOHIT AGRAWAL (moagrawa at redhat.com)

--- Additional comment from Worker Ant on 2017-01-16 09:57:32 CET ---

REVIEW: http://review.gluster.org/16392 (upcall: Resolve dict leak from
up_(f)removexattr in upcall code path) posted (#3) for review on master by
MOHIT AGRAWAL (moagrawa at redhat.com)

--- Additional comment from Worker Ant on 2017-01-16 10:32:17 CET ---

COMMIT: http://review.gluster.org/16392 committed in master by Niels de Vos
(ndevos at redhat.com) 
------
commit afdd83a9b69573b854e732795c0bcba0a00d6c0f
Author: Mohit Agrawal <moagrawa at redhat.com>
Date:   Fri Jan 13 12:17:05 2017 +0530

    upcall: Resolve dict leak from up_(f)removexattr in upcall code path

    Problem: In up_(f)removexattr() dict_for_key_value() is used to create a
             new dict. This dict is not correctly unref'd and gets leaked.

    Solution: To avoid the leak up_(f)removexattr() now also does a
              dict_unref() on the newly created dict.

    While reviewing the code in up_(f)setxattr() for a similar problem, it
    was noticed that there is an extra dict created. There is no need for
    this copy, upcall_local_init() can just take the dict that was passed as
    argument to the FOP.

    BUG: 1412917
    Change-Id: I5bb9a7d99f5087af11c19ae722de62bdb5ad1498
    Signed-off-by: Mohit Agrawal <moagrawa at redhat.com>
    Reviewed-on: http://review.gluster.org/16392
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Niels de Vos <ndevos at redhat.com>
    Smoke: Gluster Build System <jenkins at build.gluster.org>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1412917
[Bug 1412917] OOM kill of glusterfsd during continuous add-bricks
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list