[Gluster-devel] memory corruption in release-3.3
Emmanuel Dreyfus
manu at netbsd.org
Fri May 18 16:15:20 UTC 2012
Hi
I still get crashes caused by memory corruption with latest release-3.3.
My test case is a rm -Rf on a large tree. It seems I crash in two places:
First crash flavor (trav is sometimes unmapped memory, sometimes NULL)
#0 0xbbbb60ad in __iobuf_select_arena (iobuf_pool=0xbb70d400, page_size=128)
at iobuf.c:453
453 if (trav->passive_cnt) {
(gdb) print trav
$1 = (struct iobuf_arena *) 0x414d202c
(gdb) bt
#0 0xbbbb60ad in __iobuf_select_arena (iobuf_pool=0xbb70d400, page_size=128)
at iobuf.c:453
#1 0xbbbb655a in iobuf_get2 (iobuf_pool=0xbb70d400, page_size=24)
at iobuf.c:604
#2 0xbaa549c7 in client_submit_request ()
from /usr/local/lib/glusterfs/3.3git/xlator/protocol/client.so
#3 0xbaa732c5 in client3_1_open ()
from /usr/local/lib/glusterfs/3.3git/xlator/protocol/client.so
#4 0xbaa574e6 in client_open ()
from /usr/local/lib/glusterfs/3.3git/xlator/protocol/client.so
#5 0xb9abac10 in afr_sh_data_open ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#6 0xb9abacb9 in afr_self_heal_data ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#7 0xb9ac2751 in afr_sh_metadata_done ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#8 0xb9ac457a in afr_self_heal_metadata ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#9 0xb9abd93f in afr_sh_missing_entries_done ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#10 0xb9ac169b in afr_self_heal ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#11 0xb9ae2e5b in afr_launch_self_heal ()
#12 0xb9ae3de9 in afr_lookup_perform_self_heal ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#13 0xb9ae4804 in afr_lookup_done ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#14 0xb9ae4fab in afr_lookup_cbk ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#15 0xbaa6dc10 in client3_1_lookup_cbk ()
from /usr/local/lib/glusterfs/3.3git/xlator/protocol/client.so
#16 0xbbb69716 in rpc_clnt_handle_reply () from /usr/local/lib/libgfrpc.so.0
#17 0xbbb699b3 in rpc_clnt_notify () from /usr/local/lib/libgfrpc.so.0
#18 0xbbb65989 in rpc_transport_notify () from /usr/local/lib/libgfrpc.so.0
#19 0xbaa9327e in socket_event_poll_in ()
from /usr/local/lib/glusterfs/3.3git/rpc-transport/socket.so
#20 0xbaa937f5 in socket_event_handler ()
from /usr/local/lib/glusterfs/3.3git/rpc-transport/socket.so
#21 0xbbbb270f in event_dispatch_poll_handler (event_pool=0xbb73b080,
ufds=0xbb77e6a0, i=3) at event.c:357
#22 0xbbbb297b in event_dispatch_poll (event_pool=0xbb73b080) at event.c:437
#23 0xbbbb2ca7 in event_dispatch (event_pool=0xbb73b080) at event.c:947
#24 0x08050078 in main ()
Second crash flavor (it looks more like a double free)
Program terminated with signal 11, Segmentation fault.
#0 0xbb92661e in ?? () from /lib/libc.so.12
(gdb) bt
#0 0xbb92661e in ?? () from /lib/libc.so.12
#1 0xbb92891b in free () from /lib/libc.so.12
#2 0xbbbb376f in __gf_free (free_ptr=0xbb70d160) at mem-pool.c:258
#3 0xbbb7e17d in data_destroy (data=0xba301d4c) at dict.c:135
#4 0xbbb7ee18 in data_unref (this=0xba301d4c) at dict.c:470
#5 0xbbb7eb6b in dict_destroy (this=0xba4022d0) at dict.c:395
#6 0xbbb7ecab in dict_unref (this=0xba4022d0) at dict.c:432
#7 0xbaa164ba in __qr_inode_free ()
from /usr/local/lib/glusterfs/3.3git/xlator/performance/quick-read.so
#8 0xbaa27164 in qr_forget ()
from /usr/local/lib/glusterfs/3.3git/xlator/performance/quick-read.so
#9 0xbbb9b221 in __inode_destroy (inode=0xb8b017e4) at inode.c:320
#10 0xbbb9d0a5 in inode_table_prune (table=0xba3cc160) at inode.c:1235
#11 0xbbb9b64e in inode_unref (inode=0xb8b017e4) at inode.c:445
#12 0xbbb85249 in loc_wipe (loc=0xb9402dd0) at xlator.c:530
#13 0xb9ae126e in afr_local_cleanup ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#14 0xb9a9c66b in afr_unlink_done ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#15 0xb9ad2d5b in afr_unlock_common_cbk ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
#16 0xb9ad38a2 in afr_unlock_entrylk_cbk ()
from /usr/local/lib/glusterfs/3.3git/xlator/cluster/replicate.so
---Type <return> to continue, or q <return> to quit---
#17 0xbaa68370 in client3_1_entrylk_cbk ()
from /usr/local/lib/glusterfs/3.3git/xlator/protocol/client.so
#18 0xbbb69716 in rpc_clnt_handle_reply () from /usr/local/lib/libgfrpc.so.0
#19 0xbbb699b3 in rpc_clnt_notify () from /usr/local/lib/libgfrpc.so.0
#20 0xbbb65989 in rpc_transport_notify () from /usr/local/lib/libgfrpc.so.0
#21 0xbaa9327e in socket_event_poll_in ()
from /usr/local/lib/glusterfs/3.3git/rpc-transport/socket.so
#22 0xbaa937f5 in socket_event_handler ()
from /usr/local/lib/glusterfs/3.3git/rpc-transport/socket.so
#23 0xbbbb270f in event_dispatch_poll_handler (event_pool=0xbb73b080,
ufds=0xbb77e6a0, i=3) at event.c:357
#24 0xbbbb297b in event_dispatch_poll (event_pool=0xbb73b080) at event.c:437
#25 0xbbbb2ca7 in event_dispatch (event_pool=0xbb73b080) at event.c:947
#26 0x08050078 in main ()
(gdb) frame 2
#2 0xbbbb376f in __gf_free (free_ptr=0xbb70d160) at mem-pool.c:258
258 FREE (free_ptr);
(gdb) x/1w free_ptr
0xbb70d160: 538978863
--
Emmanuel Dreyfus
manu at netbsd.org
More information about the Gluster-devel
mailing list