[Bugs] [Bug 1369349] New: enable trash, then truncate a large file lead to glusterfsd segfault

bugzilla at redhat.com bugzilla at redhat.com
Tue Aug 23 07:57:00 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1369349

            Bug ID: 1369349
           Summary: enable trash, then truncate a large file lead to
                    glusterfsd segfault
           Product: GlusterFS
           Version: mainline
         Component: trash-xlator
          Severity: high
          Assignee: bugs at gluster.org
          Reporter: iesool at 126.com
                CC: bugs at gluster.org



Description of problem:
  enable trash, then truncate a large file lead to glusterfsd segfault

1) enable trash, then set trash-max-filesize: 1GB
Volume Name: test
Type: Distribute
Volume ID: fa5ccae9-4de6-4fa6-9f2b-e1f083cffecb
Status: Started
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node-1:/disk1
Brick2: node-1:/disk2
Options Reconfigured:
features.trash: enable
features.trash-max-filesize: 1GB
transport.address-family: inet
performance.readdir-ahead: on

2) dd if=/dev/zero of=/mountpoint/hello bs=1M count=900

3)truncate --size 1024000 /mountpoint/hello

Actual results:
truncate: failed to truncate ‘/cluster2/test/hello’ at 1024000 bytes: Transport
endpoint is not connected

Expected results:
truncate successful

Version-Release number of selected component (if applicable):
master commit efbae0fef5399a8826782b02140f44edaea0dac3


gdb bt:
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f621e402d17 in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007f621e402d17 in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f621e4299db in vsprintf () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f621e40d5c7 in sprintf () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007f621e4c40f7 in backtrace_symbols () from
/lib/x86_64-linux-gnu/libc.so.6
#4  0x00007f621f000493 in _gf_msg_backtrace (stacksize=-219040608,
stacksize at entry=5, callstr=0x7f61f2f1bf20 "", strsize=4096) at logging.c:1135
#5  0x00007f621f001571 in _gf_msg (domain=0x7f6214007810 "test-posix",
file=file at entry=0x7f6218fa4ffb "posix.c",
function=function at entry=0x7f6218fa8080 <__FUNCTION__.19690>
"_fill_writev_xdata", 
    line=line at entry=3242, level=level at entry=GF_LOG_ERROR,
errnum=errnum at entry=22, trace=trace at entry=1, msgid=msgid at entry=113001,
fmt=fmt at entry=0x7f6218fa596b "fd: %p inode: %pgfid:%s") at logging.c:2046
#6  0x00007f6218f9432f in _fill_writev_xdata (fd=fd at entry=0x7f621f2ed0f8,
xdata=xdata at entry=0x0, this=this at entry=0x7f6214006c70, is_append=<optimized
out>) at posix.c:3239
#7  0x00007f6218f94578 in posix_writev (frame=0x7f621ce51148,
this=0x7f6214006c70, fd=0x7f621f2ed0f8, vector=<optimized out>,
count=<optimized out>, offset=136970240, flags=0, iobref=0x7f61dc0803e0,
xdata=0x0)
    at posix.c:3376
#8  0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f2f1d330, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f2f1d340, iobuf=iobuf at entry=0x7f61dc0803e0,
xdata=xdata at entry=0x0) at trash.c:1188
#9  0x00007f6218f875aa in posix_readv (frame=0x7f621ce51074, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#10 0x00007f621874f09d in trash_truncate_writev_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, prebuf=<optimized out>, 
    postbuf=0x7f61f2f1d550, xdata=0x0) at trash.c:1227
#11 0x00007f6218f9482b in posix_writev (frame=0x7f621ce50fa0, this=<optimized
out>, fd=<optimized out>, vector=<optimized out>, count=<optimized out>,
offset=136839168, flags=0, iobref=0x7f61dc080280, 
    xdata=0x0) at posix.c:3423
#12 0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f2f1d700, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f2f1d710, iobuf=iobuf at entry=0x7f61dc080280,
xdata=xdata at entry=0x0) at trash.c:1188
#13 0x00007f6218f875aa in posix_readv (frame=0x7f621ce50ecc, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#14 0x00007f621874f09d in trash_truncate_writev_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, prebuf=<optimized out>, 
    postbuf=0x7f61f2f1d920, xdata=0x0) at trash.c:1227
#15 0x00007f6218f9482b in posix_writev (frame=0x7f621ce50df8, this=<optimized
out>, fd=<optimized out>, vector=<optimized out>, count=<optimized out>,
offset=136708096, flags=0, iobref=0x7f61dc080120, 
    xdata=0x0) at posix.c:3423
#16 0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f2f1dad0, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f2f1dae0, iobuf=iobuf at entry=0x7f61dc080120,
xdata=xdata at entry=0x0) at trash.c:1188
#17 0x00007f6218f875aa in posix_readv (frame=0x7f621ce50d24, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#18 0x00007f621874f09d in trash_truncate_writev_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, prebuf=<optimized out>, 
    postbuf=0x7f61f2f1dcf0, xdata=0x0) at trash.c:1227
#19 0x00007f6218f9482b in posix_writev (frame=0x7f621ce50c50, this=<optimized
out>, fd=<optimized out>, vector=<optimized out>, count=<optimized out>,
offset=136577024, flags=0, iobref=0x7f61dc07ffc0, 
    xdata=0x0) at posix.c:3423
#20 0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f2f1dea0, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f2f1deb0, iobuf=iobuf at entry=0x7f61dc07ffc0,
xdata=xdata at entry=0x0) at trash.c:1188
#21 0x00007f6218f875aa in posix_readv (frame=0x7f621ce50b7c, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#22 0x00007f621874f09d in trash_truncate_writev_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, prebuf=<optimized out>, 
    postbuf=0x7f61f2f1e0c0, xdata=0x0) at trash.c:1227
#23 0x00007f6218f9482b in posix_writev (frame=0x7f621ce50aa8, this=<optimized
out>, fd=<optimized out>, vector=<optimized out>, count=<optimized out>,
offset=136445952, flags=0, iobref=0x7f61dc07fe60, 
    xdata=0x0) at posix.c:3423
#24 0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f2f1e270, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f2f1e280, iobuf=iobuf at entry=0x7f61dc07fe60,
xdata=xdata at entry=0x0) at trash.c:1188
#25 0x00007f6218f875aa in posix_readv (frame=0x7f621ce509d4, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#26 0x00007f621874f09d in trash_truncate_writev_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, prebuf=<optimized out>, 
    postbuf=0x7f61f2f1e490, xdata=0x0) at trash.c:1227
#27 0x00007f6218f9482b in posix_writev (frame=0x7f621ce50900, this=<optimized
out>, fd=<optimized out>, vector=<optimized out>, count=<optimized out>,
offset=136314880, flags=0, iobref=0x7f61dc07fd00, 
.
.
.
.
.
.
.
.
    xdata=0x0) at posix.c:3423
#4184 0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f3015f70, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f3015f80, iobuf=iobuf at entry=0x7f61dc001d80,
xdata=xdata at entry=0x0) at trash.c:1188
#4185 0x00007f6218f875aa in posix_readv (frame=0x7f621cde579c, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#4186 0x00007f621874f09d in trash_truncate_writev_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, prebuf=<optimized out>, 
    postbuf=0x7f61f3016190, xdata=0x0) at trash.c:1227
#4187 0x00007f6218f9482b in posix_writev (frame=0x7f621cde6ecc, this=<optimized
out>, fd=<optimized out>, vector=<optimized out>, count=<optimized out>,
offset=0, flags=0, iobref=0x7f61dc001600, xdata=0x0)
    at posix.c:3423
#4188 0x00007f621874eb83 in trash_truncate_readv_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=op_ret at entry=131072, op_errno=<optimized out>, 
    vector=vector at entry=0x7f61f3016340, count=count at entry=1,
stbuf=stbuf at entry=0x7f61f3016350, iobuf=iobuf at entry=0x7f61dc001600,
xdata=xdata at entry=0x0) at trash.c:1188
#4189 0x00007f6218f875aa in posix_readv (frame=0x7f621cde4cd8, this=<optimized
out>, fd=<optimized out>, size=<optimized out>, offset=<optimized out>,
flags=<optimized out>, xdata=0x0) at posix.c:3141
#4190 0x00007f621874fed9 in trash_truncate_open_cbk
(frame=frame at entry=0x7f621cde6260, cookie=<optimized out>, this=0x7f62140096e0,
op_ret=<optimized out>, op_errno=op_errno at entry=0, 
    fd=fd at entry=0x7f621f2ed184, xdata=xdata at entry=0x0) at trash.c:1273
#4191 0x00007f6218f82975 in posix_open (frame=0x7f621cde5028, this=<optimized
out>, loc=<optimized out>, flags=<optimized out>, fd=0x7f621f2ed184,
xdata=<optimized out>) at posix.c:3047
#4192 0x00007f621875718e in trash_truncate_create_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=<optimized out>, fd=<optimized out>, 
    inode=0x7f61f326d2a0, buf=0x7f61f3017850, preparent=0x7f61f30178c0,
postparent=0x7f61f3017930, xdata=0x0) at trash.c:1370
#4193 0x00007f6218f834df in posix_create (frame=0x7f621cde4564,
this=0x7f6214006c70, loc=<optimized out>, flags=<optimized out>,
mode=<optimized out>, umask=<optimized out>, fd=0x7f621f2ed0f8, xdata=0x0)
    at posix.c:2948
---Type <return> to continue, or q <return> to quit---
#4194 0x00007f621875d499 in trash_truncate_stat_cbk (frame=0x7f621cde6260,
cookie=<optimized out>, this=0x7f62140096e0, op_ret=<optimized out>,
op_errno=0, buf=0x7f61f3018af0, xdata=0x0) at trash.c:1686
#4195 0x00007f6218f7eab2 in posix_fstat (frame=0x7f621cde55f4, this=<optimized
out>, fd=<optimized out>, xdata=<optimized out>) at posix.c:5856
#4196 0x00007f621875ea16 in trash_ftruncate (frame=0x7f621cde6260,
this=0x7f62140096e0, fd=0x7f621f2ed06c, offset=<optimized out>, xdata=0x0) at
trash.c:1882
#4197 0x00007f6218536bcd in ctr_ftruncate (frame=0x7f621cde6df8,
this=0x7f621400ae80, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
changetimerecorder.c:791

#4198 0x00007f6213de9700 in changelog_ftruncate (frame=0x7f621cde48b4,
this=0x7f621400db00, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
changelog.c:1805
#4199 0x00007f6213bd500d in br_stub_ftruncate (frame=0x7f621cde50fc,
this=0x7f621400f3a0, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
bit-rot-stub.c:2000
#4200 0x00007f621f078cde in default_ftruncate (frame=0x7f621cde50fc,
this=0x7f6214010a10, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
defaults.c:2801
#4201 0x00007f621379e5e5 in truncate_stat_cbk (frame=0x7f621cde7990,
cookie=<optimized out>, this=0x7f6214011e20, op_ret=0, op_errno=<optimized
out>, buf=0x7f61f3019860, xdata=0x0) at posix.c:800
#4202 0x00007f6218f7eab2 in posix_fstat (frame=0x7f621cde43bc, this=<optimized
out>, fd=<optimized out>, xdata=<optimized out>) at posix.c:5856
#4203 0x00007f621f078266 in default_fstat (frame=0x7f621cde43bc,
this=0x7f62140096e0, fd=0x7f621f2ed06c, xdata=0x0) at defaults.c:2618
#4204 0x00007f621f078266 in default_fstat (frame=0x7f621cde43bc,
this=0x7f621400ae80, fd=0x7f621f2ed06c, xdata=0x0) at defaults.c:2618
#4205 0x00007f621f078266 in default_fstat (frame=0x7f621cde43bc,
this=0x7f621400db00, fd=0x7f621f2ed06c, xdata=0x0) at defaults.c:2618
#4206 0x00007f6213bd09a4 in br_stub_fstat (frame=0x7f621cde43bc,
this=0x7f621400f3a0, fd=0x7f621f2ed06c, xdata=0x0) at bit-rot-stub.c:2831
#4207 0x00007f621f078266 in default_fstat (frame=0x7f621cde43bc,
this=0x7f6214010a10, fd=0x7f621f2ed06c, xdata=0x0) at defaults.c:2618
#4208 0x00007f6213797caa in pl_ftruncate (frame=0x7f621cde7990,
this=0x7f6214011e20, fd=0x7f621f2ed06c, offset=<optimized out>, xdata=0x0) at
posix.c:888
#4209 0x00007f621f078cde in default_ftruncate (frame=0x7f621cde7990,
this=0x7f6214013250, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
defaults.c:2801

#4210 0x00007f621337cad0 in ro_ftruncate (frame=0x7f621cde7990,
this=0x7f62140147d0, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
read-only-common.c:189
#4211 0x00007f621317046f in leases_ftruncate (frame=0x7f621cde7c0c,
this=0x7f6214015d80, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
leases.c:668
#4212 0x00007f6212f5a489 in up_ftruncate (frame=0x7f621cde7ce0,
this=0x7f6214017250, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
upcall.c:896
#4213 0x00007f621f093527 in default_ftruncate_resume (frame=0x7f621cde77e8,
this=0x7f62140187e0, fd=0x7f621f2ed06c, offset=1024000, xdata=0x0) at
defaults.c:2056
#4214 0x00007f621f0221d5 in call_resume (stub=0x7f621c635e9c) at
call-stub.c:2508
#4215 0x00007f6212d47b1b in iot_worker (data=0x7f62140675d0) at
io-threads.c:215
#4216 0x00007f621e786182 in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#4217 0x00007f621e4b347d in clone () from /lib/x86_64-linux-gnu/libc.so.6

-- 
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