Bug 765537 (GLUSTER-3805) - [glusterfs-3.2.5qa8]: memory leak in self-heal
Summary: [glusterfs-3.2.5qa8]: memory leak in self-heal
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-3805
Product: GlusterFS
Classification: Community
Component: replicate
Version: pre-release
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Pranith Kumar K
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-10 12:39 UTC by Raghavendra Bhat
Modified: 2011-11-23 11:17 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Raghavendra Bhat 2011-11-10 12:39:28 UTC
There seems to be a memory leak in the self-heal code. This is the valgrind report which indicates report. This leak occurs only when self-heal is triggered. With pure distribute or pure replicate without doing self-heal the leak is not reported.


==20261== 752,308 (45,280 direct, 707,028 indirect) bytes in 566 blocks are definitely lost in loss record 200 of 211
==20261==    at 0x4C279FC: calloc (vg_replace_malloc.c:467)
==20261==    by 0x4E7D8EA: __gf_calloc (mem-pool.c:142)
==20261==    by 0x4E3FB90: _dict_set (dict.c:251)
==20261==    by 0x4E3FD85: dict_set (dict.c:300)
==20261==    by 0x4E44794: dict_unserialize (dict.c:2573)
==20261==    by 0x86F71CF: client3_1_lookup_cbk (client3_1-fops.c:2196)
==20261==    by 0x50B80BD: rpc_clnt_handle_reply (rpc-clnt.c:741)
==20261==    by 0x50B83F9: rpc_clnt_notify (rpc-clnt.c:854)
==20261==    by 0x50B47B6: rpc_transport_notify (rpc-transport.c:919)
==20261==    by 0x7AC0C9F: socket_event_poll_in (socket.c:1647)
==20261==    by 0x7AC1213: socket_event_handler (socket.c:1762)
==20261==    by 0x4E7CDC0: event_dispatch_epoll_handler (event.c:794)



=20261== 1,574,774 (129,984 direct, 1,444,790 indirect) bytes in 1,354 blocks are definitely lost in loss record 204 of 211
==20261==    at 0x4C279FC: calloc (vg_replace_malloc.c:467)
==20261==    by 0x4E7D8EA: __gf_calloc (mem-pool.c:142)
==20261==    by 0x4E3F500: get_new_dict_full (dict.c:66)
==20261==    by 0x4E3F5A3: dict_new (dict.c:97)
==20261==    by 0x86F709B: client3_1_lookup_cbk (client3_1-fops.c:2190)
==20261==    by 0x50B80BD: rpc_clnt_handle_reply (rpc-clnt.c:741)
==20261==    by 0x50B83F9: rpc_clnt_notify (rpc-clnt.c:854)
==20261==    by 0x50B47B6: rpc_transport_notify (rpc-transport.c:919)
==20261==    by 0x7AC0C9F: socket_event_poll_in (socket.c:1647)
==20261==    by 0x7AC1213: socket_event_handler (socket.c:1762)
==20261==    by 0x4E7CDC0: event_dispatch_epoll_handler (event.c:794)
==20261==    by 0x4E7CFDA: event_dispatch_epoll (event.c:856)


==20261== LEAK SUMMARY:
==20261==    definitely lost: 175,674 bytes in 1,922 blocks
==20261==    indirectly lost: 2,152,122 bytes in 29,044 blocks
==20261==      possibly lost: 33,013,397 bytes in 1,805 blocks
==20261==    still reachable: 38,485 bytes in 68 blocks
==20261==         suppressed: 0 bytes in 0 blocks


Without self-heal the above leak is not reported.

Comment 1 Anand Avati 2011-11-11 06:59:35 UTC
CHANGE: http://review.gluster.com/708 (Change-Id: I2b8c3a2d7771463ef94892f2a78fc464aba703ee) merged in release-3.2 by Vijay Bellur (vijay)

Comment 2 Anand Avati 2011-11-23 08:11:23 UTC
CHANGE: http://review.gluster.com/719 (Change-Id: I79a1c70c47649fbcf236191f174d766d5806545c) merged in master by Vijay Bellur (vijay)


Note You need to log in before you can comment on or make changes to this bug.