<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<STYLE type=text/css> <!--@import url(scrollbar.css); --></STYLE>

<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE>                        BLOCKQUOTE{margin-Top: 0px; margin-Bottom: 0px; margin-Left: 2em}                        body{FONT-SIZE:12.1pt; COLOR:#001; FONT-FAMILY:宋体,serif;}                </STYLE>

<META name=GENERATOR content="MSHTML 8.00.6001.19190"><BASE 
target=_blank></HEAD>
<BODY 
style="LINE-HEIGHT: 1.3; BORDER-RIGHT-WIDTH: 0px; MARGIN: 12px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" 
marginheight="0" marginwidth="0"><STATIONERY>
<DIV><FONT color=#000000 size=3 face=宋体>Hi all,</FONT></DIV>
<DIV><FONT color=#000000 size=3></FONT>&nbsp;</DIV>
<DIV><FONT color=#000000 size=3>These days, our glusterfs system crashed many 
times. The coredump showed the crash point always in FRAME_DESTORY or 
STACK_WIND. Once frame-&gt;next-&gt;prev was referenced, even if the value check 
such as 'if (frame-&gt;next-&gt;prev == NULL) {return}' always 
crashed.&nbsp;This mainly occured when opendir was called. There are about 500 
bricks in thes system. The coredump listed as follows, and&nbsp;anybody&nbsp;can 
help me ? </FONT><FONT color=#000000 size=3></FONT></DIV>
<DIV><FONT color=#000000 size=3>Coredump 1:</FONT></DIV>
<DIV><FONT color=#000000 size=3></FONT>&nbsp;</DIV>
<DIV>#0&nbsp; 0x00002aad0cd465f4 in FRAME_DESTROY (frame=&lt;value optimized 
out&gt;, cookie=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; 
this=&lt;value optimized out&gt;, op_ret=&lt;value optimized out&gt;, 
op_errno=&lt;value optimized out&gt;, fd=&lt;value optimized 
out&gt;)<BR>&nbsp;&nbsp;&nbsp; at 
../../../../libglusterfs/src/stack.h:143<BR>143&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
frame-&gt;next-&gt;prev = frame-&gt;prev;<BR>(gdb) bt<BR>#0&nbsp; 
0x00002aad0cd465f4 in FRAME_DESTROY (frame=&lt;value optimized out&gt;, 
cookie=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; this=&lt;value 
optimized out&gt;, op_ret=&lt;value optimized out&gt;, op_errno=&lt;value 
optimized out&gt;, fd=&lt;value optimized out&gt;)<BR>&nbsp;&nbsp;&nbsp; at 
../../../../libglusterfs/src/stack.h:143<BR>#1&nbsp; STACK_DESTROY 
(frame=&lt;value optimized out&gt;, cookie=&lt;value optimized out&gt;, 
this=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; op_ret=&lt;value 
optimized out&gt;, op_errno=&lt;value optimized out&gt;, fd=&lt;value optimized 
out&gt;)<BR>&nbsp;&nbsp;&nbsp; at 
../../../../libglusterfs/src/stack.h:180<BR>#2&nbsp; fuse_fd_cbk 
(frame=&lt;value optimized out&gt;, cookie=&lt;value optimized out&gt;, 
this=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; op_ret=&lt;value 
optimized out&gt;, op_errno=&lt;value optimized out&gt;, fd=&lt;value optimized 
out&gt;) at fuse-bridge.c:594<BR>#3&nbsp; 0x00002aad0e34e7a9 in 
io_stats_opendir_cbk (frame=0x2aadc5b329c0, cookie=&lt;value optimized out&gt;, 
<BR>&nbsp;&nbsp;&nbsp; this=&lt;value optimized out&gt;, op_ret=0, op_errno=117, 
fd=0x2aad67f98954) at io-stats.c:1492<BR>#4&nbsp; 0x00002aad0e12eab2 in 
sp_fd_cbk (frame=0x2aadc5bc0fc0, cookie=&lt;value optimized out&gt;, 
this=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; op_ret=0, op_errno=117, 
fd=0x2aad67f98954) at stat-prefetch.c:1506<BR>#5&nbsp; 0x00002aad0df00238 in 
dht_fd_cbk (frame=0x2aadc5bc10c0, cookie=&lt;value optimized out&gt;, 
this=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; op_ret=&lt;value 
optimized out&gt;, op_errno=&lt;value optimized out&gt;, fd=&lt;value optimized 
out&gt;) at dht-common.c:2615<BR>#6&nbsp; 0x00002aad0dc8f941 in 
afr_examine_dir_readdir_cbk (frame=0x2aadc3a59ce0, cookie=&lt;value optimized 
out&gt;, <BR>&nbsp;&nbsp;&nbsp; this=&lt;value optimized out&gt;, 
op_ret=&lt;value optimized out&gt;, op_errno=&lt;value optimized out&gt;, 
entries=&lt;value optimized out&gt;)<BR>&nbsp;&nbsp;&nbsp; at 
afr-dir-read.c:185<BR>#7&nbsp; 0x00002aad0da6485d in client3_1_readdir_cbk 
(req=&lt;value optimized out&gt;, iov=&lt;value optimized out&gt;, 
<BR>&nbsp;&nbsp;&nbsp; count=&lt;value optimized out&gt;, myframe=0x36a4600) at 
client3_1-fops.c:1883<BR>#8&nbsp; 0x00002aad0a317315 in rpc_clnt_handle_reply 
(clnt=0x18a2b30, pollin=0x24054b0) at rpc-clnt.c:741<BR>#9&nbsp; 
0x00002aad0a317569 in rpc_clnt_notify (trans=&lt;value optimized out&gt;, 
mydata=0x18a2b60, event=&lt;value optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; 
data=&lt;value optimized out&gt;) at rpc-clnt.c:854<BR>#10 0x00002aad0a312418 in 
rpc_transport_notify (this=&lt;value optimized out&gt;, event=&lt;value 
optimized out&gt;, <BR>&nbsp;&nbsp;&nbsp; data=&lt;value optimized out&gt;) at 
rpc-transport.c:919<BR>#11 0x00002aad0d41f254 in socket_event_poll_in 
(this=0x18a2c50) at socket.c:1647<BR>#12 0x00002aad0d41f337 in 
socket_event_handler (fd=&lt;value optimized out&gt;, idx=405, data=0x18a2c50, 
poll_in=1, poll_out=0, <BR>&nbsp;&nbsp;&nbsp; poll_err=&lt;value optimized 
out&gt;) at socket.c:1762<BR>#13 0x00002aad0a0e3014 in 
event_dispatch_epoll_handler (event_pool=0x1602330) at event.c:794<BR>#14 
event_dispatch_epoll (event_pool=0x1602330) at event.c:856<BR>#15 
0x0000000000405e69 in main (argc=5, argv=0x7fff4b224d28) at 
glusterfsd.c:1462</DIV>
<DIV>&nbsp;</DIV>
<DIV>Coredump 2:</DIV>
<DIV>#0&nbsp; CHECK_FRAME (frame=0x2af752e9bba0, this=&lt;value optimized 
out&gt;, loc=0x2af7538acd38, fd=0x2af6b71f6b4c)<BR>&nbsp;&nbsp;&nbsp; at 
../../../../libglusterfs/src/stack.h:205<BR>205&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if&nbsp; (frame-&gt;root-&gt;frames.next-&gt;prev == NULL){<BR>(gdb) 
bt<BR>#0&nbsp; CHECK_FRAME (frame=0x2af752e9bba0, this=&lt;value optimized 
out&gt;, loc=0x2af7538acd38, fd=0x2af6b71f6b4c) <BR>&nbsp;&nbsp;&nbsp; at 
../../../../libglusterfs/src/stack.h:205<BR>#1&nbsp; afr_opendir 
(frame=0x2af752e9bba0, this=&lt;value optimized out&gt;, loc=0x2af7538acd38, 
fd=0x2af6b71f6b4c)<BR>&nbsp;&nbsp;&nbsp; at afr-dir-read.c:343<BR>#2&nbsp; 
0x00002af65d2d036a in dht_opendir (frame=0x2af751f91ec0, this=&lt;value 
optimized out&gt;, loc=0x2af7538acd38, <BR>&nbsp;&nbsp;&nbsp; fd=0x2af6b71f6b4c) 
at dht-common.c:3092<BR>#3&nbsp; 0x00002af65d4ff86a in sp_opendir 
(frame=&lt;value optimized out&gt;, this=0xa1a730, loc=0x2af7538acd38, 
fd=0x2af6b71f6b4c)<BR>&nbsp;&nbsp;&nbsp; at stat-prefetch.c:1854<BR>#4&nbsp; 
0x00002af65d719c4a in io_stats_opendir (frame=&lt;value optimized out&gt;, 
this=0xa1b940, loc=0x2af7538acd38, <BR>&nbsp;&nbsp;&nbsp; fd=0x2af6b71f6b4c) at 
io-stats.c:2137<BR>#5&nbsp; 0x00002af65c111540 in fuse_opendir_resume 
(state=0x2af7538acd20) at fuse-bridge.c:2011<BR>#6&nbsp; 0x00002af65c0ff512 in 
fuse_resolve_and_resume (state=0x2af7538acd20, fn=0x2af65c1113a0 
&lt;fuse_opendir_resume&gt;)<BR>&nbsp;&nbsp;&nbsp; at 
fuse-resolve.c:763<BR>#7&nbsp; 0x00002af65c10c5bd in fuse_thread_proc 
(data=0x7d16d0) at fuse-bridge.c:3223<BR>#8&nbsp; 0x0000003c394077e1 in 
start_thread () from /lib64/libpthread.so.0<BR>#9&nbsp; 0x0000003c390e152d in 
clone () from /lib64/libc.so.6</DIV>
<DIV>&nbsp;</DIV>
<DIV>Note: CHECK_FRAME was a function I added to showed the crashed line in the 
coredump.</DIV>
<DIV><FONT color=#000000 size=3>Thank you very much</FONT></DIV>
<DIV align=left><FONT color=#c0c0c0 size=2 
face=Verdana>2012-04-09</FONT></DIV><FONT size=2 face=Verdana>
<HR style="WIDTH: 122px; HEIGHT: 2px" id=SignNameHR align=left SIZE=2>
</FONT>
<DIV><FONT color=#c0c0c0 size=2 face=Verdana><SPAN 
id=_FlashSignName></SPAN></FONT></DIV></STATIONERY></BODY></HTML>