[Bugs] [Bug 1456385] glusterfs client crash on io-cache.so(__ioc_page_wakeup+0x44 )
bugzilla at redhat.com
bugzilla at redhat.com
Mon May 29 10:19:53 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1456385
Nithya Balachandran <nbalacha at redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |POST
--- Comment #3 from Nithya Balachandran <nbalacha at redhat.com> ---
>From Mohit:
gdb) f 0
#0 0x00007f45e525e5b4 in __ioc_page_wakeup (page=0x7f43246e1500,
page at entry=0x7f45f17d0d64, op_errno=0) at page.c:960
960 gf_msg_trace (page->inode->table->xl->name, 0,
(gdb) p page->inode
$1 = (struct ioc_inode *) 0x0
(gdb) f 1
#1 0x00007f45e525ffa4 in ioc_inode_wakeup (frame=0x7f45e00396c8,
frame at entry=0x7f45f17d0d64,
ioc_inode=ioc_inode at entry=0x7f45e0e62160, stbuf=stbuf at entry=0x7f45e69cca10)
at ioc-inode.c:119
119 page_waitq =
(gdb) p waiter
$2 = (ioc_waitq_t *) 0x7f4325f60140
(gdb) p ioc_inode
$3 = (ioc_inode_t *) 0x7f45e0e62160
(gdb) p *ioc_inode
$4 = {table = 0x7f45e0038f10, ia_size = 1037687610, cache = {page_table =
0x7f4324fe6940, page_lru = {next = 0x7f45d124aad0,
prev = 0x7f45d124aad0}, mtime = 1480448949, mtime_nsec = 697732971, tv =
{tv_sec = 1490221892, tv_usec = 31395}},
inode_list = {next = 0x7f45d805d5b8, prev = 0x7f45dbfec4b8}, inode_lru =
{next = 0x7f45e0039020, prev = 0x7f45e0774068},
waitq = 0x0, inode_lock = {__data = {__lock = 2, __count = 0, __owner =
11655, __nusers = 1, __kind = 0, __spins = 0,
__list = {__prev = 0x0, __next = 0x0}},
__size = "\002\000\000\000\000\000\000\000\207-\000\000\001", '\000'
<repeats 26 times>, __align = 2}, weight = 1,
inode = 0x7f45d78719a8}
(gdb) thread 2
[Switching to thread 2 (Thread 0x7f45d7498700 (LWP 11659))]
#0 __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
135 2: movl %edx, %eax
(gdb) f 3
#3 0x00007f45e525d181 in ioc_prune (table=0x7f45e0038f10) at page.c:221
221 ioc_inode_lock (curr);
(gdb) p curr
$5 = (ioc_inode_t *) 0x7f45e0e62160
(gdb) p index
$6 = 1
>>>>>>>>>>>>>>>>>>>>>>>>
IMO in ioc_inode_wakeup we are not fetching waiter queue from ioc_inode in
correct way,I think we should fetch
waiter page in while loop at the time of calling __ioc_page_wakeup.
Regards
Mohit Agrawal
--
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