Bug 763070 (GLUSTER-1338) - 3.0.5 crash if compiled under fedora 12
Summary: 3.0.5 crash if compiled under fedora 12
Keywords:
Status: CLOSED WORKSFORME
Alias: GLUSTER-1338
Product: GlusterFS
Classification: Community
Component: transport
Version: 3.0.5
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-08-11 21:03 UTC by Joe Julian
Modified: 2010-08-12 14:22 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Joe Julian 2010-08-11 21:03:16 UTC
The current f11 binaries work fine.

gcc-4.4.4-10.fc12.x86_64
glibc-2.11.2-1.x86_64

built with:
rpmbuild --rebuild http://ftp.gluster.com/pub/gluster/glusterfs/3.0/LATEST/Fedora/glusterfs-3.0.5-1.fc11.src.rpm

To duplicate, start the server, mount the client, ls -l <client mount point>

================================================================================
Version      : glusterfs 3.0.5 built on Aug 11 2010 12:35:56
git: v3.0.5
Starting Time: 2010-08-11 13:34:42
Command line : /usr/sbin/glusterfs --log-level=NORMAL --volfile=/etc/glusterfs/glusterfs.vol /mnt/gluster
PID          : 31634
System name  : Linux
Nodename     : strabo2.julianfamily.org
Kernel Release : 2.6.32.14-127.fc12.x86_64
Hardware Identifier: x86_64

Given volfile:
+------------------------------------------------------------------------------+
  1: volume cbrick0
  2:   type protocol/client
  3:   option transport-type tcp
  4:   option remote-host 127.0.0.1
  5:   option remote-subvolume brick0
  6: end-volume
  7: volume cbrick1
  8:   type protocol/client
  9:   option transport-type tcp
 10:   option remote-host 127.0.0.1
 11:   option remote-subvolume brick1
 12: end-volume
 13: volume cbrick2
 14:   type protocol/client
 15:   option transport-type tcp
 16:   option remote-host 127.0.0.1
 17:   option remote-subvolume brick2
 18: end-volume
 19: volume cbrick3
 20:   type protocol/client
 21:   option transport-type tcp
 22:   option remote-host 127.0.0.1
 23:   option remote-subvolume brick3
 24: end-volume
 25:
 26: volume repl0
 27:   type cluster/replicate
 28:   subvolumes cbrick0 cbrick1
 29: end-volume
 30:
 31: volume repl1
 32:   type cluster/replicate
 33:   subvolumes cbrick2 cbrick3
 34: end-volume
 35:
 36: volume distribute
 37:   type cluster/distribute
 38:   subvolumes repl0 repl1
 39: end-volume
 40:
 41: #volume writebehind
 42: #  type performance/write-behind
 43: #  option cache-size 64MB
 44: #  subvolumes distribute
 45: #end-volume
 46:
 47: #volume ioc
 48: #  type performance/io-cache
 49: #  option cache-size 64MB
 50: #  subvolumes writebehind
 51: #end-volume
 52:
 53: #volume trace
 54: #  type debug/trace
 55: #  subvolumes ioc
 56: #  option include open,close,create,readdir,opendir,closedir
 57: #  option exclude lookup,read,write
 58: #end-volume

+------------------------------------------------------------------------------+
[2010-08-11 13:34:42] N [glusterfsd.c:1409:main] glusterfs: Successfully started
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick0: Connected to 127.0.0.1:6996, attached to remote volume 'brick0'.
[2010-08-11 13:34:42] N [afr.c:2648:notify] repl0: Subvolume 'cbrick0' came back up; going online.
[2010-08-11 13:34:42] N [fuse-bridge.c:2953:fuse_init] glusterfs-fuse: FUSE inited with protocol versions: glusterfs 7.13 kernel 7.13
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick0: Connected to 127.0.0.1:6996, attached to remote volume 'brick0'.
[2010-08-11 13:34:42] N [afr.c:2648:notify] repl0: Subvolume 'cbrick0' came back up; going online.
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick1: Connected to 127.0.0.1:6996, attached to remote volume 'brick1'.
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick1: Connected to 127.0.0.1:6996, attached to remote volume 'brick1'.
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick2: Connected to 127.0.0.1:6996, attached to remote volume 'brick2'.
[2010-08-11 13:34:42] N [afr.c:2648:notify] repl1: Subvolume 'cbrick2' came back up; going online.
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick2: Connected to 127.0.0.1:6996, attached to remote volume 'brick2'.
[2010-08-11 13:34:42] N [afr.c:2648:notify] repl1: Subvolume 'cbrick2' came back up; going online.
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick3: Connected to 127.0.0.1:6996, attached to remote volume 'brick3'.
[2010-08-11 13:34:42] N [client-protocol.c:6288:client_setvolume_cbk] cbrick3: Connected to 127.0.0.1:6996, attached to remote volume 'brick3'.
pending frames:
frame : type(1) op(STAT)

patchset: v3.0.5
signal received: 6
time of crash: 2010-08-11 13:34:50
configuration details:
argp 1
backtrace 1
dlfcn 1
fdatasync 1
libpthread 1
llistxattr 1
setfsid 1
spinlock 1
epoll.h 1
xattr.h 1
st_atim.tv_nsec 1
package-string: glusterfs 3.0.5
/lib64/libc.so.6[0x3f51032740]
/lib64/libc.so.6(gsignal+0x35)[0x3f510326c5]
/lib64/libc.so.6(abort+0x175)[0x3f51033ea5]
/lib64/libc.so.6[0x3f5106f133]
/lib64/libc.so.6(__fortify_fail+0x37)[0x3f510f7707]
/lib64/libc.so.6[0x3f510f5720]
/usr/lib64/glusterfs/3.0.5/xlator/protocol/client.so(client_lookup+0x1cb)[0x7f4061fd9c1b]
/usr/lib64/glusterfs/3.0.5/xlator/cluster/replicate.so(afr_lookup+0x433)[0x7f4061d91d83]
/usr/lib64/glusterfs/3.0.5/xlator/cluster/distribute.so(dht_lookup+0x20f)[0x7f4061b7d6ff]
/usr/lib64/glusterfs/3.0.5/xlator/mount/fuse.so(fuse_first_lookup+0x162)[0x7f40619533e2]
/usr/lib64/glusterfs/3.0.5/xlator/mount/fuse.so(+0x47ed)[0x7f40619537ed]
/lib64/libpthread.so.0[0x3f51c06a3a]
/lib64/libc.so.6(clone+0x6d)[0x3f510de77d]
---------


volume posix0
  type storage/posix
  option directory /home/cluster/0
end-volume
volume posix1
  type storage/posix
  option directory /home/cluster/1
end-volume
volume posix2
  type storage/posix
  option directory /home/cluster/2
end-volume
volume posix3
  type storage/posix
  option directory /home/cluster/3
end-volume

volume lock0
  type features/locks
  subvolumes posix0
end-volume
volume lock1
  type features/locks
  subvolumes posix1
end-volume
volume lock2
  type features/locks
  subvolumes posix2
end-volume
volume lock3
  type features/locks
  subvolumes posix3
end-volume

volume brick0
  type performance/io-threads
  option thread-count 8
  subvolumes lock0
end-volume
volume brick1
  type performance/io-threads
  option thread-count 8
  subvolumes lock1
end-volume
volume brick2
  type performance/io-threads
  option thread-count 8
  subvolumes lock2
end-volume
volume brick3
  type performance/io-threads
  option thread-count 8
  subvolumes lock3
end-volume

volume server
  type protocol/server
  option transport-type tcp
  option transport.socket.bind-address 127.0.0.1
  subvolumes brick0 brick1 brick2 brick3
  option auth.addr.brick0.allow 127.0.0.1
  option auth.addr.brick1.allow 127.0.0.1
  option auth.addr.brick2.allow 127.0.0.1
  option auth.addr.brick3.allow 127.0.0.1
end-volume

Comment 1 Amar Tumballi 2010-08-12 08:37:23 UTC
Hi,

This is due to the compile flag, '-fstack-protection' in gcc. Please give '-fno-stack-protection' flag to gcc while compiling.

(make clean install CFLAGS="-fno-stack-protection")

This is a known issue with 3.0.x release of GlusterFS, which can't be fixed due to the limitations in its protocol structures. With 3.1.x releases it will be fixed and we should not see these crashes anymore.

Closing this bug as with the above mentioned cflag this can be solved.

Comment 2 Joe Julian 2010-08-12 11:22:48 UTC
Then shouldn't this flag be added to the spec file for the 3.0 series?


Note You need to log in before you can comment on or make changes to this bug.