Hide Forgot
Core produced and log files for another test case for this configuration is also moved to /share/tickets directory.
3 servers with stripe volume files Single client with write-behind and io-cache translators running tools were: dbench,iozone,kernel_compile,annihilate,exnihilate core generated: ----- Frame 1 ----- #1 0x0000003756e31bf0 in abort () from /lib64/libc.so.6 ----- list ----- 11 #include "fuse_opt.h" 12 #include "fuse_i.h" 13 #include "fuse_misc.h" 14 #include "fuse_common_compat.h" 15 #include "fuse_lowlevel_compat.h" 16 17 #include <stdio.h> 18 #include <stdlib.h> 19 #include <stddef.h> 20 #include <string.h> ----- Frame 2 ----- #2 0x00002acc1566d277 in stripe_readv (frame=0xe68c690, this=0xdee9140, fd=0xe63dbc0, size=131072, offset=0) at ../../../../../xlators/cluster/stripe/src/stripe.c:2740 2740 ERR_ABORT (local); ----- list ----- 2735 rounded_start = floor (offset, stripe_size); 2736 rounded_end = roof (offset+size, stripe_size); 2737 num_stripe = (rounded_end - rounded_start) / stripe_size; 2738 2739 local = CALLOC (1, sizeof (stripe_local_t)); 2740 ERR_ABORT (local); 2741 local->wind_count = num_stripe; 2742 frame->local = local; 2743 2744 /* This is where all the vectors should be copied. */ ----- print frame ----- $1 = (call_frame_t *) 0xe68c690 ----- print *frame ----- $2 = {root = 0xe9e2340, parent = 0xe9dc5e0, next = 0xe9dc5e0, prev = 0xe9e2380, local = 0x0, this = 0xdee9140, ret = 0x2acc15876dde <wb_readv_cbk>, ref_count = 0, lock = 1, cookie = 0xe68c690} ----- print this ----- $3 = (xlator_t *) 0xdee9140 ----- print *this ----- $4 = {name = 0xdee9120 "stripe", type = 0xdee9260 "cluster/stripe", next = 0xdee8d80, prev = 0xdee9b40, parents = 0xdeea3e0, children = 0xdee9a40, options = 0xdee91e0, fops = 0x2acc15870460, mops = 0x2acc15870740, cbks = 0x2acc15870760, volume_options = {next = 0xdee92d0, prev = 0xdee92d0}, fini = 0x2acc1566ed83 <fini>, init = 0x2acc1566e9e1 <init>, notify = 0x2acc1566e413 <notify>, ctx = 0xdee2010, itable = 0x0, ready = 1 '\001', init_succeeded = 1 '\001', private = 0xdeef8d0} ----- print fd ----- $5 = (fd_t *) 0xe63dbc0 ----- print *fd ----- $6 = {pid = 25773, flags = 32768, refcount = 4, inode_list = {next = 0x2aaab07e1140, prev = 0x2aaab07e1140}, inode = 0x2aaab07e1100, ctx = 0xe67f7c0, lock = 1, _ctx = 0xe9e11c0} ----- print size ----- $7 = 131072 ----- print offset ----- $8 = 0
The process crashed because there is memory leak (or there is no memory available). The 'cluster/stripe' translator is cleaned up, and enhanced in master branch. But in release branch, we didn't make the changes because it was very disruptive. Marking it as won't fix.