[Gluster-users] glusterfs crash on frame->next->prev
Krishnan Parthasarathi
kparthas at redhat.com
Mon Apr 9 06:00:39 UTC 2012
chyd,
Which version of glusterfs are you using? We need to check if this happens
even after the following fix was merged,
http://review.gluster.com/774
thanks,
krish
----- Original Message -----
From: "chyd" <chyd at ihep.ac.cn>
To: "gluster-users" <gluster-users at gluster.org>
Sent: Monday, April 9, 2012 10:06:58 AM
Subject: [Gluster-users] glusterfs crash on frame->next->prev
Hi all,
These days, our glusterfs system crashed many times. The coredump showed the crash point always in FRAME_DESTORY or STACK_WIND. Once frame->next->prev was referenced, even if the value check such as 'if (frame->next->prev == NULL) {return}' always crashed. This mainly occured when opendir was called. There are about 500 bricks in thes system. The coredump listed as follows, and anybody can help me ?
Coredump 1:
#0 0x00002aad0cd465f4 in FRAME_DESTROY (frame=<value optimized out>, cookie=<value optimized out>,
this=<value optimized out>, op_ret=<value optimized out>, op_errno=<value optimized out>, fd=<value optimized out>)
at ../../../../libglusterfs/src/stack.h:143
143 frame->next->prev = frame->prev;
(gdb) bt
#0 0x00002aad0cd465f4 in FRAME_DESTROY (frame=<value optimized out>, cookie=<value optimized out>,
this=<value optimized out>, op_ret=<value optimized out>, op_errno=<value optimized out>, fd=<value optimized out>)
at ../../../../libglusterfs/src/stack.h:143
#1 STACK_DESTROY (frame=<value optimized out>, cookie=<value optimized out>, this=<value optimized out>,
op_ret=<value optimized out>, op_errno=<value optimized out>, fd=<value optimized out>)
at ../../../../libglusterfs/src/stack.h:180
#2 fuse_fd_cbk (frame=<value optimized out>, cookie=<value optimized out>, this=<value optimized out>,
op_ret=<value optimized out>, op_errno=<value optimized out>, fd=<value optimized out>) at fuse-bridge.c:594
#3 0x00002aad0e34e7a9 in io_stats_opendir_cbk (frame=0x2aadc5b329c0, cookie=<value optimized out>,
this=<value optimized out>, op_ret=0, op_errno=117, fd=0x2aad67f98954) at io-stats.c:1492
#4 0x00002aad0e12eab2 in sp_fd_cbk (frame=0x2aadc5bc0fc0, cookie=<value optimized out>, this=<value optimized out>,
op_ret=0, op_errno=117, fd=0x2aad67f98954) at stat-prefetch.c:1506
#5 0x00002aad0df00238 in dht_fd_cbk (frame=0x2aadc5bc10c0, cookie=<value optimized out>, this=<value optimized out>,
op_ret=<value optimized out>, op_errno=<value optimized out>, fd=<value optimized out>) at dht-common.c:2615
#6 0x00002aad0dc8f941 in afr_examine_dir_readdir_cbk (frame=0x2aadc3a59ce0, cookie=<value optimized out>,
this=<value optimized out>, op_ret=<value optimized out>, op_errno=<value optimized out>, entries=<value optimized out>)
at afr-dir-read.c:185
#7 0x00002aad0da6485d in client3_1_readdir_cbk (req=<value optimized out>, iov=<value optimized out>,
count=<value optimized out>, myframe=0x36a4600) at client3_1-fops.c:1883
#8 0x00002aad0a317315 in rpc_clnt_handle_reply (clnt=0x18a2b30, pollin=0x24054b0) at rpc-clnt.c:741
#9 0x00002aad0a317569 in rpc_clnt_notify (trans=<value optimized out>, mydata=0x18a2b60, event=<value optimized out>,
data=<value optimized out>) at rpc-clnt.c:854
#10 0x00002aad0a312418 in rpc_transport_notify (this=<value optimized out>, event=<value optimized out>,
data=<value optimized out>) at rpc-transport.c:919
#11 0x00002aad0d41f254 in socket_event_poll_in (this=0x18a2c50) at socket.c:1647
#12 0x00002aad0d41f337 in socket_event_handler (fd=<value optimized out>, idx=405, data=0x18a2c50, poll_in=1, poll_out=0,
poll_err=<value optimized out>) at socket.c:1762
#13 0x00002aad0a0e3014 in event_dispatch_epoll_handler (event_pool=0x1602330) at event.c:794
#14 event_dispatch_epoll (event_pool=0x1602330) at event.c:856
#15 0x0000000000405e69 in main (argc=5, argv=0x7fff4b224d28) at glusterfsd.c:1462
Coredump 2:
#0 CHECK_FRAME (frame=0x2af752e9bba0, this=<value optimized out>, loc=0x2af7538acd38, fd=0x2af6b71f6b4c)
at ../../../../libglusterfs/src/stack.h:205
205 if (frame->root->frames.next->prev == NULL){
(gdb) bt
#0 CHECK_FRAME (frame=0x2af752e9bba0, this=<value optimized out>, loc=0x2af7538acd38, fd=0x2af6b71f6b4c)
at ../../../../libglusterfs/src/stack.h:205
#1 afr_opendir (frame=0x2af752e9bba0, this=<value optimized out>, loc=0x2af7538acd38, fd=0x2af6b71f6b4c)
at afr-dir-read.c:343
#2 0x00002af65d2d036a in dht_opendir (frame=0x2af751f91ec0, this=<value optimized out>, loc=0x2af7538acd38,
fd=0x2af6b71f6b4c) at dht-common.c:3092
#3 0x00002af65d4ff86a in sp_opendir (frame=<value optimized out>, this=0xa1a730, loc=0x2af7538acd38, fd=0x2af6b71f6b4c)
at stat-prefetch.c:1854
#4 0x00002af65d719c4a in io_stats_opendir (frame=<value optimized out>, this=0xa1b940, loc=0x2af7538acd38,
fd=0x2af6b71f6b4c) at io-stats.c:2137
#5 0x00002af65c111540 in fuse_opendir_resume (state=0x2af7538acd20) at fuse-bridge.c:2011
#6 0x00002af65c0ff512 in fuse_resolve_and_resume (state=0x2af7538acd20, fn=0x2af65c1113a0 <fuse_opendir_resume>)
at fuse-resolve.c:763
#7 0x00002af65c10c5bd in fuse_thread_proc (data=0x7d16d0) at fuse-bridge.c:3223
#8 0x0000003c394077e1 in start_thread () from /lib64/libpthread.so.0
#9 0x0000003c390e152d in clone () from /lib64/libc.so.6
Note: CHECK_FRAME was a function I added to showed the crashed line in the coredump.
Thank you very much
2012-04-09
_______________________________________________
Gluster-users mailing list
Gluster-users at gluster.org
http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
More information about the Gluster-users
mailing list