Bug 762010 (GLUSTER-278)

Summary: Seg-fault in client while using booster
Product: [Community] GlusterFS Reporter: Shehjar Tikoo <shehjart>
Component: protocolAssignee: Shehjar Tikoo <shehjart>
Status: CLOSED DUPLICATE QA Contact:
Severity: low Docs Contact:
Priority: urgent    
Version: mainlineCC: gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Shehjar Tikoo 2009-09-22 07:36:29 UTC

*** This bug has been marked as a duplicate of bug 271 ***

Comment 1 Shehjar Tikoo 2009-09-22 10:30:46 UTC
Heres the backtrace from gdb"
Core was generated by `dd if=/dev/zero of=/testmount/testfile bs=65536 count=100'.
Program terminated with signal 11, Segmentation fault.
[New process 12609]
[New process 12608]
[New process 12607]
[New process 12606]
[New process 12605]
[New process 12604]
[New process 12603]
#0  0x00002b4543cb886b in client_setvolume_cbk (frame=0x1c4f21c0, hdr=0x1c4f2400, hdrlen=155, iobuf=0x0) at client-protocol.c:5543
5543                    if (process_uuid && !strcmp (ctx->process_uuid,process_uuid)) {
(gdb) p ctx
$1 = (glusterfs_ctx_t *) 0x0
(gdb) bt
#0  0x00002b4543cb886b in client_setvolume_cbk (frame=0x1c4f21c0, hdr=0x1c4f2400, hdrlen=155, iobuf=0x0) at client-protocol.c:5543
#1  0x00002b4543cb920a in protocol_client_interpret (this=0x1c4e5650, trans=0x1c4ec4e0, hdr_p=0x1c4f2400 "", hdrlen=155, iobuf=0x0)
    at client-protocol.c:5891
#2  0x00002b4543cb9df2 in protocol_client_pollin (this=0x1c4e5650, trans=0x1c4ec4e0) at client-protocol.c:6173
#3  0x00002b4543cb9f86 in notify (this=0x1c4e5650, event=2, data=0x1c4ec4e0) at client-protocol.c:6216
#4  0x00002b45449beba4 in socket_event_poll_in (this=0x1c4ec4e0) at socket.c:714
#5  0x00002b45449beea2 in socket_event_handler (fd=10, idx=2, data=0x1c4ec4e0, poll_in=1, poll_out=0, poll_err=0) at socket.c:814
#6  0x00002b4542fee0e9 in event_dispatch_epoll_handler (event_pool=0x1c4e01c0, events=0x1c4f1060, i=0) at event.c:804
#7  0x00002b4542fee2be in event_dispatch_epoll (event_pool=0x1c4e01c0) at event.c:867
#8  0x00002b4542fee5d4 in event_dispatch (event_pool=0x1c4e01c0) at event.c:975
#9  0x00002b454321755b in poll_proc (ptr=0x1c4e0020) at libglusterfsclient.c:679
#10 0x000000371d206367 in start_thread () from /lib64/libpthread.so.0
#11 0x000000371cad2f7d in clone () from /lib64/libc.so.6
(gdb) 

As shown above, the seg fault happens because client is using the global glusterfs context pointer. This is not guaranteed to be valid when using libglusterfsclient, as is the case here.