Bug 761734 (GLUSTER-2) - io-cache crash
Summary: io-cache crash
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-2
Deadline: 2009-05-30
Product: GlusterFS
Classification: Community
Component: io-cache
Version: 2.0.2
Hardware: All
OS: All
low
high
Target Milestone: ---
Assignee: Anand Avati
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-05-29 19:40 UTC by Amar Tumballi
Modified: 2015-09-01 23:04 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Amar Tumballi 2009-05-29 19:40:38 UTC
Attached is the backtrace:

gdb -c /core glusterfs:

#0  ioc_page_wakeup (page=0x2aaafc13bd20) at page.c:729
729                     ioc_frame_fill (page, frame, trav->pending_offset,
(gdb) bt
#0  ioc_page_wakeup (page=0x2aaafc13bd20) at page.c:729
#1  0x00002aac0bd67570 in ioc_inode_wakeup (frame=0x2aaafc13d080, ioc_inode=0x2aaafc03f810, stbuf=<value optimized out>)
    at ioc-inode.c:95
#2  0x00002aac0bd635fb in ioc_cache_validate_cbk (frame=0x2aaafc13d080, cookie=<value optimized out>, this=<value optimized out
    op_ret=0, op_errno=<value optimized out>, stbuf=<value optimized out>) at io-cache.c:468
#3  0x00002aac0bb5bcfe in wb_fstat_cbk (frame=0x2aaafc13bb80, cookie=<value optimized out>, this=<value optimized out>, op_ret=
    op_errno=2, buf=0x2aaaac2a3a30) at write-behind.c:543
#4  0x00002aac0b94d9d3 in unify_buf_cbk (frame=0x2aaaac2aa4a0, cookie=0x2aaaac2a7490, this=0x6111e0, op_ret=0, op_errno=0,
    buf=0x7fffa0267f00) at unify.c:311
#5  0x00002aac0b31589e in client_fstat_cbk (frame=0x2aaaac2a7490, hdr=0x2aaaac2a6ff0, hdrlen=<value optimized out>,
    iobuf=<value optimized out>) at client-protocol.c:4244
#6  0x00002aac0b3058ca in protocol_client_pollin (this=0x60ce70, trans=0x621500) at client-protocol.c:6165
#7  0x00002aac0b30ccd2 in notify (this=0x2aaafc13bd20, event=2, data=0x621500) at client-protocol.c:6209
#8  0x00002aaaaaaafb53 in socket_event_handler (fd=<value optimized out>, idx=0, data=0x621500, poll_in=1, poll_out=0, poll_err
    at socket.c:813
#9  0x00002aac0a8662a5 in event_dispatch_epoll (event_pool=0x608680) at event.c:804
#10 0x0000000000403899 in main (argc=6, argv=0x7fffa0268fc8) at glusterfsd.c:1200
(gdb) p *trav
Cannot access memory at address 0x45
(gdb) l
724             gf_log (page->inode->table->xl->name, GF_LOG_TRACE,
725                     "page is %p && waitq = %p", page, waitq);
726      
727             for (trav = waitq; trav; trav = trav->next) {
728                     frame = trav->data;
729                     ioc_frame_fill (page, frame, trav->pending_offset,
730                                     trav->pending_size);
731             }
732
733             return waitq;
(gdb) p waitq
$1 = (ioc_waitq_t *) 0x45
(gdb) p *page
$2 = {pages = {next = 0x2aaafc13bce0, prev = 0x0}, page_lru = {next = 0x2aaaac2a7990, prev = 0x0}, inode = 0x0, priority = 0x60, dirty = 0 '\0', ready = 1 '\001', vector = 0x100000001, count = 0, offset = 4294967328, size = 0, waitq = 0x0, iobref = 0x2aaafc13b8f0, page_lock = {__data = {__lock = -65815168, __count = 10922, __owner = 1243547483, __nusers = 0,  __kind = 86776, __spins = 0, __list = {__prev = 0x2aaafc1304e0, __next = 0x100000020}},
    __size = "\200�\023�*\000\000[\a\037J\000\000\000\000�R\001\000\000\000\000\000�\004\023�*\000\000 \000\000\000\001\000\000
    __align = 46913861959040}}
(gdb) p *trav
Cannot access memory at address 0x45
(gdb) p *frame
No symbol "frame" in current context.
(gdb) p *local
$53 = {mode = 0, flags = 0, file_loc = {path = 0x0, name = 0x0, ino = 0, inode = 0x0, parent = 0x0}, offset = 0, size = 0, op_r
  op_errno = 0, fill_list = {next = 0x0, prev = 0x0}, pending_offset = 0, pending_size = 0, inode = 0x2aaafc03f810, wait_count
  local_lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0,
        __next = 0x0}}, __size = '\0' <repeats 39 times>, __align = 0}, waitq = 0x0, stub = 0x0, fd = 0x2aaafc137e70, need_xatt
  xattr_req = 0x0}
(gdb) p *local->fd->inode
$54 = {table = 0x623d30, lock = 1, nlookup = 135, generation = 0, ref = 4, ino = 1006633135, ctx = 0x2aaaac1ac020, st_mode = 33
  fd_list = {next = 0x2aaaac2a0ef0, prev = 0x2aaafc137e80}, dentry_list = {next = 0x2aaafc03bd70, prev = 0x2aaafc03bd70}, child
    next = 0x2aaaac1ae070, prev = 0x2aaaac1ae070}, hash = {next = 0x2aaaab101660, prev = 0x2aaaab101660}, list = {next = 0x8c5f
    prev = 0x2aaaac1ad270}, _ctx = 0x2aaaac1ad850}
(gdb) p *local->inode
$52 = {table = 0x623010, pages = {next = 0x2aaafc13db10, prev = 0x2aaafc13bdc0}, inode_list = {next = 0x2aaafc041af8,
    prev = 0x2aaafc043598}, inode_lru = {next = 0x2aaaac28da28, prev = 0x2aaaac29f1b8}, page_lru = {next = 0x2aaafc13db20,
    prev = 0x2aaafc13bdd0}, waitq = 0x0, inode_lock = {__data = {__lock = 1, __count = 0, __owner = 5519, __nusers = 1, __kind
      __spins = 0, __list = {__prev = 0x0, __next = 0x0}},
    __size = "\001\000\000\000\000\000\000\000\217\025\000\000\001", '\0' <repeats 26 times>, __align = 1}, weight = 0,
  mtime = 1243547201, tv = {tv_sec = 1243547483, tv_usec = 89156}}

Comment 1 Anand Avati 2009-07-07 00:48:33 UTC
Fixed in patch http://patches.gluster.com/patch/476/


Note You need to log in before you can comment on or make changes to this bug.