Description of problem: We have seen a couple of issues with transport object reference and leak in rpc layer, particularly with 'rpc_clnt_disable', a) Once the transport object is disassociated from rpc->conn, it should not be referenced further. Fix is needed in 'rpc_clnt_remove_ping_timer_locked'. b) Unref transport object to avoid memory leak.
COMMIT: http://review.gluster.org/11845 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 6e8c137fb7deca75817d617d40ebd58bbcae186a Author: Soumya Koduri <skoduri> Date: Thu Aug 6 06:22:38 2015 +0530 rpc-clnt: Check for transport object during rpc connection cleanup While doing glfs_fini(), all the xlators are first notified of PARENT_DOWN. protocol-client xlator on receving that notification does rpc_clnt_disable which disassociates rpc->conn with its transport object and does socket shutdown. So any further references to conn->trans should not happen during rpc connection cleanup which is done mainly as part of epoll event handling of EPOLLERR/EPOLLHUP. BUG: 1250797 Change-Id: I7d0346451d40372ad59a6a2326176fbb1e694712 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/11845 Reviewed-by: Raghavendra G <rgowdapp> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle>
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user