Bug 763758 (GLUSTER-2026)

Summary: [glusterfs-3.1.1qa1]: crash in _dict_unserialize_length
Product: [Community] GlusterFS Reporter: Raghavendra Bhat <rabhat>
Component: glusterdAssignee: Vijay Bellur <vbellur>
Severity: medium Docs Contact:
Priority: low    
Version: 3.1.0CC: amarts, gluster-bugs, vijay
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: DNR CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Raghavendra Bhat 2010-10-27 10:11:02 EDT
glusterd crashed while doing start volume and stop volume in a loop parallely. This is the backtrace of the core generated.

Core was generated by `glusterd -LDEBUG'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000032d5c797c0 in strlen () from /lib64/libc.so.6
(gdb) (gdb) bt
#0  0x00000032d5c797c0 in strlen () from /lib64/libc.so.6
#1  0x00002ad8af9c9a85 in _dict_serialized_length (this=<value optimized out>) at ../../../libglusterfs/src/dict.c:2290
#2  0x00002ad8af9c9cb1 in dict_allocate_and_serialize (this=0x9cdd2c8, buf=0x9cdd6b8, length=0x9cdd6b0)
    at ../../../libglusterfs/src/dict.c:2641
#3  0x00002aaaaaad7687 in glusterd_op_build_payload (op=<value optimized out>, req=0x7ffffbd36fd0)
    at ../../../../../xlators/mgmt/glusterd/src/glusterd-op-sm.c:297
#4  0x00002aaaaaae979d in glusterd3_1_stage_op (frame=<value optimized out>, this=0x9cd1808, data=<value optimized out>)
    at ../../../../../xlators/mgmt/glusterd/src/glusterd3_1-mops.c:1207
#5  0x00002aaaaaad41f7 in glusterd_op_ac_send_stage_op (event=<value optimized out>, ctx=<value optimized out>)
    at ../../../../../xlators/mgmt/glusterd/src/glusterd-op-sm.c:4059
#6  0x00002aaaaaad37a3 in glusterd_op_sm () at ../../../../../xlators/mgmt/glusterd/src/glusterd-op-sm.c:5161
#7  0x00002aaaaaaeae55 in glusterd3_1_cluster_lock_cbk (req=<value optimized out>, iov=<value optimized out>, count=<value optimized out>, 
    myframe=0x2ad8b0ad12ec) at ../../../../../xlators/mgmt/glusterd/src/glusterd3_1-mops.c:429
#8  0x00002ad8afc302e2 in rpc_clnt_handle_reply (clnt=0x9cda718, pollin=<value optimized out>) at ../../../../rpc/rpc-lib/src/rpc-clnt.c:752
#9  0x00002ad8afc304dd in rpc_clnt_notify (trans=<value optimized out>, mydata=0x9cda748, event=<value optimized out>, data=0x3)
    at ../../../../rpc/rpc-lib/src/rpc-clnt.c:865
#10 0x00002ad8afc2b77c in rpc_transport_notify (this=0xbaadf00d, event=RPC_TRANSPORT_DISCONNECT, data=0x3)
    at ../../../../rpc/rpc-lib/src/rpc-transport.c:1142
#11 0x00002aaaaad9f33f in socket_event_poll_in (this=0x9cda938) at ../../../../../rpc/rpc-transport/socket/src/socket.c:1619
#12 0x00002aaaaad9f4c8 in socket_event_handler (fd=<value optimized out>, idx=4, data=0x9cda938, poll_in=1, poll_out=0, poll_err=0)
    at ../../../../../rpc/rpc-transport/socket/src/socket.c:1733
#13 0x00002ad8af9f11e7 in event_dispatch_epoll_handler (event_pool=0x9cccb38) at ../../../libglusterfs/src/event.c:812
#14 event_dispatch_epoll (event_pool=0x9cccb38) at ../../../libglusterfs/src/event.c:876
#15 0x00000000004046bd in main (argc=2, argv=0x7ffffbd37968) at ../../../glusterfsd/src/glusterfsd.c:1410
(gdb) (gdb) f 1
#1  0x00002ad8af9c9a85 in _dict_serialized_length (this=<value optimized out>) at ../../../libglusterfs/src/dict.c:2290
2290                    len += strlen (pair->key) + 1  /* for '\0' */;
(gdb) p pair
$1 = (data_pair_t *) 0x9cd9ee8
(gdb) p *pair
$2 = {hash_next = 0x400000000, prev = 0x0, next = 0x9cdb308, value = 0x100000001, key = 0xbaadf00d <Address 0xbaadf00d out of bounds>}
(gdb) (gdb) info thr
  3 Thread 13602  0x00000032d680e838 in do_sigwait () from /lib64/libpthread.so.0
  2 Thread 13621  0x00000032d5c9a1a1 in nanosleep () from /lib64/libc.so.6
* 1 Thread 13601  0x00000032d5c797c0 in strlen () from /lib64/libc.so.6
Comment 1 Amar Tumballi 2011-09-30 02:39:30 EDT
not seen in latest releases. Please re-open if seen again.