| Summary: | [ glusterfs 2.0.6rc1 ] - "client SEG fault" | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Vinayak Hegde <vinayak> |
| Component: | stripe | Assignee: | Amar Tumballi <amarts> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | 2.0.5 | CC: | 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
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. |