Description of problem: On debug build, any gluster volume set with an invalid option crashes with the following backtrace: #0 0x00007f1a8ca280b0 in pthread_spin_lock () from /lib64/libpthread.so.0 #1 0x00007f1a8d900b44 in __gf_free (free_ptr=0x7f1a680293b0) at mem-pool.c:303 #2 0x00007f1a82f508da in gd_sync_task_begin (op_ctx=0x7f1a68000bac, req=0x7f1a740019ac) at glusterd-syncop.c:1767 #3 0x00007f1a82f50970 in glusterd_op_begin_synctask (req=0x7f1a740019ac, op=GD_OP_SET_VOLUME, dict=0x7f1a68000bac) at glusterd-syncop.c:1787 #4 0x00007f1a82eb39a4 in __glusterd_handle_set_volume (req=0x7f1a740019ac) at glusterd-handler.c:1871 #5 0x00007f1a82eae740 in glusterd_big_locked_handler (req=0x7f1a740019ac, actor_fn=0x7f1a82eb3488 <__glusterd_handle_set_volume>) at glusterd-handler.c:83 #6 0x00007f1a82eb3a8f in glusterd_handle_set_volume (req=0x7f1a740019ac) at glusterd-handler.c:1893 #7 0x00007f1a8d913069 in synctask_wrap (old_task=0x7f1a74002d60) at syncop.c:375 #8 0x00007f1a8c2b9000 in ?? () from /lib64/libc.so.6 #9 0x0000000000000000 in ?? () Version-Release number of selected component (if applicable): Mainline How reproducible: Always Steps to Reproduce: 1. Create & start any type of volume 2. gluster volume set <VOLNAME> barrier abcd Actual results: Glusterd crashed Expected results: Glusterd should not crash Additional info:
REVIEW: http://review.gluster.org/10227 (glusterd: handle op_errstr freeing correctly) posted (#1) for review on master by Atin Mukherjee (amukherj)
This problem should get addressed by http://review.gluster.org/#/c/10238/ as this is a generic patch to cover all occurrences of gf_free () execution with different xl's mem_header. http://review.gluster.org/10227 was addressing one particular problem here, so decided to abandon it.
http://review.gluster.org/#/c/10417/ has fixed it.
*** This bug has been marked as a duplicate of bug 1211749 ***