[Gluster-devel] segfault with tla 846 - suggestions?
Dan Parsons
dparsons at nyip.net
Fri Jan 16 00:19:55 UTC 2009
I just had the glusterfs client crash on a bunch of nodes. The I/O
profile was basically many small reads of many tiny files. Nothing of
significance in server log files (just it noticing client
disconnects). The testing I did last night was a lot of dd if=file of=/
dev/null reads of huge files; those worked just fine. Any suggestions
on how to fix this would be greatly appreciated.
Crash message:
pending frames:
frame : type(1) op(STAT)
frame : type(1) op(STAT)
frame : type(1) op(FLUSH)
frame : type(1) op(FLUSH)
frame : type(1) op(OPEN)
frame : type(1) op(WRITE)
frame : type(1) op(UNLINK)
patchset: glusterfs--mainline--3.0--patch-846
signal received: 11
configuration details:argp 1
backtrace 1
db.h 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 1.4.0tla846
/lib64/libc.so.6[0x384f2301b0]
/lib64/libpthread.so.0(pthread_mutex_lock+0x19)[0x384fe08309]
/usr/local/lib/libglusterfs.so.0(inode_unlink+0x2c)[0x2b58737fa85c]
/usr/local/lib/glusterfs/1.4.0tla846/xlator/mount/
fuse.so[0x2b587470bb92]
/usr/local/lib/glusterfs/1.4.0tla846/xlator/features/
filter.so[0x2b58744f97e0]
/usr/local/lib/libglusterfs.so.0[0x2b58737f2e60]
/usr/local/lib/glusterfs/1.4.0tla846/xlator/cluster/
unify.so(unify_unlink_cbk+0x96)[0x2b58740e2566]
/usr/local/lib/glusterfs/1.4.0tla846/xlator/protocol/
client.so(client_unlink_cbk+0x85)[0x2b5873aa4c45]
/usr/local/lib/glusterfs/1.4.0tla846/xlator/protocol/
client.so(protocol_client_pollin+0xc1)[0x2b5873a9fff1]
/usr/local/lib/glusterfs/1.4.0tla846/xlator/protocol/client.so(notify
+0x13a)[0x2b5873aa64ea]
/usr/local/lib/glusterfs/1.4.0tla846/transport/socket.so[0x2aaaaaaadd8e]
/usr/local/lib/libglusterfs.so.0[0x2b5873804b55]
/usr/local/sbin/glusterfs(main+0x948)[0x403368]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x384f21d8b4]
/usr/local/sbin/glusterfs[0x402099]
Client config:
volume unify-switch-ns
type protocol/client
option transport-type tcp
option remote-host 10.8.101.51
option remote-subvolume posix-unify-switch-ns
end-volume
#volume distfs01-ns-readahead
# type performance/read-ahead
# option page-size 1MB
# option page-count 8
# subvolumes distfs01-ns-brick
#end-volume
#volume unify-switch-ns
# type performance/write-behind
# option block-size 1MB
# option cache-size 3MB
# subvolumes distfs01-ns-readahead
#end-volume
volume distfs01-unify
type protocol/client
option transport-type tcp
option remote-host 10.8.101.51
option remote-subvolume posix-unify
end-volume
volume distfs02-unify
type protocol/client
option transport-type tcp
option remote-host 10.8.101.52
option remote-subvolume posix-unify
end-volume
volume distfs03-unify
type protocol/client
option transport-type tcp
option remote-host 10.8.101.53
option remote-subvolume posix-unify
end-volume
volume distfs04-unify
type protocol/client
option transport-type tcp
option remote-host 10.8.101.54
option remote-subvolume posix-unify
end-volume
volume distfs01-stripe
type protocol/client
option transport-type tcp
option remote-host 10.8.101.51
option remote-subvolume posix-stripe
end-volume
volume distfs02-stripe
type protocol/client
option transport-type tcp
option remote-host 10.8.101.52
option remote-subvolume posix-stripe
end-volume
volume distfs03-stripe
type protocol/client
option transport-type tcp
option remote-host 10.8.101.53
option remote-subvolume posix-stripe
end-volume
volume distfs04-stripe
type protocol/client
option transport-type tcp
option remote-host 10.8.101.54
option remote-subvolume posix-stripe
end-volume
volume stripe0
type cluster/stripe
option block-size *.jar,*.pin:1MB,*:2MB
subvolumes distfs01-stripe distfs02-stripe distfs03-stripe distfs04-
stripe
end-volume
volume dht0
type cluster/dht
subvolumes distfs01-unify distfs02-unify distfs03-unify distfs04-unify
end-volume
volume unify
type cluster/unify
option namespace unify-switch-ns
option self-heal off
option scheduler switch
# send *.phr/psq/pnd etc to stripe0, send the rest to hash
# extensions have to be *.foo* and not simply *.foo or rsync's tmp
file naming will prevent files from being matched
option scheduler.switch.case
*.phr*:stripe0;*.psq*:stripe0;*.pnd*:stripe0;*.psd*:stripe0;*.pin*:stripe0;*.nsi*:stripe0;*.nin*:stripe0;*.nsd*:stripe0;*.nhr*:stripe0;*.nsq*:stripe0;*.tar*:stripe0;*.tar.gz*:stripe0;*.jar*:stripe0;*.img*:stripe0;*.perf*:stripe0;*.tgz*:stripe0;*.fasta*:stripe0;*.huge*:stripe0
subvolumes stripe0 dht0
end-volume
volume ioc
type performance/io-cache
subvolumes unify
option cache-size 5000MB
end-volume
volume filter
type features/filter
option fixed-uid 0
option fixed-gid 900
subvolumes ioc
end-volume
Server config:
volume posix-unify-brick
type storage/posix
option directory /distfs-storage-space/glusterfs/unify
# the below line is here to make the output of 'df' accurate, as both
volumes are served from the same local drive
option export-statfs-size off
end-volume
volume posix-stripe-brick
type storage/posix
option directory /distfs-storage-space/glusterfs/stripe
end-volume
volume posix-unify-switch-ns-brick
type storage/posix
option directory /distfs-storage-space/glusterfs/unify-switch-
ns
end-volume
volume posix-unify
type performance/io-threads
option thread-count 4
subvolumes posix-unify-brick
end-volume
volume posix-stripe
type performance/io-threads
option thread-count 4
subvolumes posix-stripe-brick
end-volume
volume posix-unify-switch-ns
type performance/io-threads
option thread-count 2
subvolumes posix-unify-switch-ns-brick
end-volume
volume server
type protocol/server
option transport-type tcp
option auth.addr.posix-unify.allow 10.8.101.*
option auth.addr.posix-stripe.allow 10.8.101.*
option auth.addr.posix-unify-switch-ns.allow 10.8.101.*
subvolumes posix-unify posix-stripe posix-unify-switch-ns
end-volume
Dan Parsons
More information about the Gluster-devel
mailing list