Bug 765586 (GLUSTER-3854)

Summary: [017344be59fbbd4cf6d29d3f5a6581b468dc29c9]: glusterfs process crashed when statedump is taken
Product: [Community] GlusterFS Reporter: Raghavendra Bhat <rabhat>
Component: coreAssignee: Raghavendra Bhat <rabhat>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: mainlineCC: gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Amar Tumballi 2011-12-08 03:47:43 UTC
http://review.gluster.com/775 has the fix.

Comment 1 Raghavendra Bhat 2011-12-08 05:41:14 UTC
glusterfs process (both server as well as client) crashed when statedump of the process was taken. 

This is the backtrace of the core generated.

Core was generated by `/usr/local/sbin/glusterfsd -s localhost --volfile-id mirror.hyperspace.mnt-sda7'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f792141f67b in iobuf_stats_dump (iobuf_pool=0x12e50b0) at ../../../libglusterfs/src/iobuf.c:972
972	                list_for_each_entry (trav, &iobuf_pool->arenas[j], list) {
(gdb) bt
#0  0x00007f792141f67b in iobuf_stats_dump (iobuf_pool=0x12e50b0) at ../../../libglusterfs/src/iobuf.c:972
#1  0x00007f7921421de2 in gf_proc_dump_info (signum=10) at ../../../libglusterfs/src/statedump.c:525
#2  0x0000000000407462 in glusterfs_sigwaiter (arg=0x7fffa623d0b0) at ../../../glusterfsd/src/glusterfsd.c:1342
#3  0x00007f7920b85d8c in start_thread (arg=0x7f791f6bb700) at pthread_create.c:304
#4  0x00007f79208d104d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()
(gdb) l
967	                           iobuf_pool->arena_size);
968	        gf_proc_dump_write("iobuf_pool.arena_cnt", "%d",
969	                           iobuf_pool->arena_cnt);
970	
971	        for (j = 0; j < GF_VARIABLE_IOBUF_COUNT; j++) {
972	                list_for_each_entry (trav, &iobuf_pool->arenas[j], list) {
973	                        snprintf(msg, sizeof(msg),
974	                                 "arena.%d", i);
975	                        gf_proc_dump_add_section(msg);
976	                        iobuf_arena_info_dump(trav,msg);
(gdb) p iobuf_pool->arenas[j]
$1 = {next = 0x0, prev = 0x0}
(gdb) p j
$2 = 8
(gdb)