[Bugs] [Bug 1211749] New: glusterd crashes when brick option validation fails
bugzilla at redhat.com
bugzilla at redhat.com
Tue Apr 14 19:31:15 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1211749
Bug ID: 1211749
Summary: glusterd crashes when brick option validation fails
Product: GlusterFS
Version: mainline
Component: glusterd
Severity: urgent
Assignee: bugs at gluster.org
Reporter: jdarcy at redhat.com
CC: bugs at gluster.org, gluster-bugs at redhat.com
While working on server-side AFR/NSR support, I added the following test to
tests/basic/afr/read-subvol-data.t:
TEST ! set_read_subvol $V0 no-such-xlator
The result was a glusterd crash, like this:
(gdb) bt
#0 0x00007f0e5d5920b0 in pthread_spin_lock () from /lib64/libpthread.so.0
#1 0x00007f0e5e46dd69 in __gf_free (...)
at mem-pool.c:303
#2 0x00007f0e59e251b4 in gd_sync_task_begin (...)
at glusterd-syncop.c:1767
#3 0x00007f0e59e25260 in glusterd_op_begin_synctask (...)
at glusterd-syncop.c:1787
#4 0x00007f0e59d770b2 in __glusterd_handle_set_volume (...)
at glusterd-handler.c:1871
The __gf_free in question is for op_errstr, explaining the nature of the
validation error. Here's a relevant comment from the patch I'll be posting
momentarily, at the point where op_errstr is set, describing the real problem
and a fix/workaround.
* In the validation-error code path, the graph is freed
* before op_errstr is. Therefore, if the memory block for
* op_errstr still contains a reference to a translator within
* that graph, we'll crash. Make sure the reference is to a
* translator that's not going away instead.
--
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