Thanks Xavi. I have +2ed it. Any one can merge it once it passes the regression.
On Fri, Dec 15, 2017 at 6:45 PM, Xavi Hernandez <jaher...@redhat.com> wrote: > I've uploaded a patch to fix this problem: https://review. > gluster.org/19040 > > On Fri, Dec 15, 2017 at 11:33 AM, Xavi Hernandez <jaher...@redhat.com> > wrote: > >> I've checked the size of 'gluster volume set help' on current master and >> it's 51176 bytes. Only 24 bytes below the size of the buffer. >> >> I think the reason why regression tests fail is that it enables bd >> xlator, which adds some more options that make the help output to grow >> beyond the buffer size. >> >> I'll send a patch to fix the problem. >> >> Xavi >> >> On Fri, Dec 15, 2017 at 10:05 AM, Xavi Hernandez <jaher...@redhat.com> >> wrote: >> >>> On Fri, Dec 15, 2017 at 9:57 AM, Atin Mukherjee <amukh...@redhat.com> >>> wrote: >>> >>>> But why doesn't it crash every time if this is the RCA? None of us >>>> could actually reproduce it locally. >>>> >>> >>> That's a good question. One of my patches has failed and it doesn't add >>> any new option (in fact it's a very trivial change), so I'm not sure why it >>> may or may not crash. >>> >>> I'll analyze it. Anyway, that function needs a patch because there's no >>> space limit check before writing to the buffer. >>> >>> Xavi >>> >>> >>>> On Fri, Dec 15, 2017 at 2:23 PM, Xavi Hernandez <jaher...@redhat.com> >>>> wrote: >>>> >>>>> I've seen this failure in one of my local tests and I've done a quick >>>>> analysis: >>>>> >>>>> (gdb) bt >>>>> #0 0x00007ff29e1fce07 in ?? () from /lib64/libgcc_s.so.1 >>>>> #1 0x00007ff29e1fe9b8 in _Unwind_Backtrace () from >>>>> /lib64/libgcc_s.so.1 >>>>> #2 0x00007ff2aa9fb458 in backtrace () from /lib64/libc.so.6 >>>>> #3 0x00007ff2ac14af30 in _gf_msg_backtrace_nomem (level=GF_LOG_ALERT, >>>>> stacksize=200) at logging.c:1128 >>>>> #4 0x00007ff2ac151170 in gf_print_trace (signum=11, ctx=0xdec260) at >>>>> common-utils.c:762 >>>>> #5 0x000000000040a2c6 in glusterfsd_print_trace (signum=11) at >>>>> glusterfsd.c:2274 >>>>> #6 <signal handler called> >>>>> #7 0x00007ff2ac466751 in _dl_close () from >>>>> /lib64/ld-linux-x86-64.so.2 >>>>> #8 0x00007ff2aaa304df in _dl_catch_error () from /lib64/libc.so.6 >>>>> #9 0x00007ff2ab35f715 in _dlerror_run () from /lib64/libdl.so.2 >>>>> #10 0x00007ff2ab35f08f in dlclose () from /lib64/libdl.so.2 >>>>> #11 0x00007ff2a06af786 in glusterd_get_volopt_content >>>>> (ctx=0x7ff298000d88, xml_out=false) at glusterd-utils.c:13150 >>>>> #12 0x00007ff2a06a2896 in glusterd_volset_help >>>>> (dict=0x70616e732d776f68, op_errstr=0x732e736572757461) at >>>>> glusterd-utils.c:9199 >>>>> Backtrace stopped: previous frame inner to this frame (corrupt stack?) >>>>> (gdb) f 11 >>>>> #11 0x00007ff2a06af786 in glusterd_get_volopt_content >>>>> (ctx=0x7ff298000d88, xml_out=false) at glusterd-utils.c:13150 >>>>> 13150 dlclose (dl_handle); >>>>> (gdb) print dl_handle >>>>> $1 = (void *) 0x6978656c7069746c >>>>> (gdb) x/s &dl_handle >>>>> 0x7ff294206500: "ltiplexing feature is disabled.\n\n" >>>>> (gdb) >>>>> >>>>> So I think the problem is a buffer overflow. >>>>> >>>>> Looking at the code in glusterd-utils.c, function >>>>> glusterd_get_volopt_content(), I guess that we are writing too much data >>>>> into output_string, which is a stack defined array of 50 KB, and we have >>>>> an >>>>> overflow there. Probably the number of options and its description has >>>>> grown beyond this limit. >>>>> >>>>> I'll send a patch for this shortly. >>>>> >>>>> Xavi >>>>> >>>>> On Fri, Dec 15, 2017 at 8:31 AM, Sunny Kumar <sunku...@redhat.com> >>>>> wrote: >>>>> >>>>>> +1 >>>>>> >>>>>> Console log >>>>>> https://build.gluster.org/job/centos6-regression/8021/console >>>>>> >>>>>> Regard >>>>>> Sunny >>>>>> >>>>>> On Fri, Dec 15, 2017 at 12:32 PM, Ravishankar N < >>>>>> ravishan...@redhat.com> wrote: >>>>>> > ...for a lot of patches on master .The crash is in volume set; the >>>>>> .t just >>>>>> > does a volume set help. Can the glusterd devs take a look as it is >>>>>> blocking >>>>>> > merging patches? I have raised BZ 1526268 with the details. >>>>>> > >>>>>> > Thanks! >>>>>> > >>>>>> > Ravi >>>>>> > >>>>>> > _______________________________________________ >>>>>> > Gluster-devel mailing list >>>>>> > Gluster-devel@gluster.org >>>>>> > http://lists.gluster.org/mailman/listinfo/gluster-devel >>>>>> _______________________________________________ >>>>>> Gluster-devel mailing list >>>>>> Gluster-devel@gluster.org >>>>>> http://lists.gluster.org/mailman/listinfo/gluster-devel >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Gluster-devel mailing list >>>>> Gluster-devel@gluster.org >>>>> http://lists.gluster.org/mailman/listinfo/gluster-devel >>>>> >>>> >>>> >>> >> >
_______________________________________________ Gluster-devel mailing list Gluster-devel@gluster.org http://lists.gluster.org/mailman/listinfo/gluster-devel