Bug 761908 (GLUSTER-176)

Summary: [ glusterfs 2.0.6rc1 ] - "client SEG fault"
Product: [Community] GlusterFS Reporter: Vinayak Hegde <vinayak>
Component: stripeAssignee: Amar Tumballi <amarts>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 2.0.5CC: gluster-bugs, guru, lakshmipathi, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Vinayak Hegde 2009-07-30 06:51:28 UTC
Core produced and log files for another test case for this configuration
is also moved to /share/tickets directory.

Comment 1 Vinayak Hegde 2009-07-30 09:34:03 UTC
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

Comment 2 Amar Tumballi 2009-07-30 21:37:45 UTC
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.