Bug 838204

Summary: Crash in posix_getxattr
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Vijay Bellur <vbellur>
Component: glusterfsAssignee: Vijay Bellur <vbellur>
Status: CLOSED ERRATA QA Contact: Sachidananda Urs <surs>
Severity: high Docs Contact:
Priority: high    
Version: 2.0CC: gluster-bugs, rabhat, rfortier, sac, sdharane, vbellur
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.4.0qa4-1.el6rhs Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-23 22:32:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vijay Bellur 2012-07-07 06:34:18 UTC
Description of problem:

Crash is seen in posix_getxattr (). Backtrace below:

patchset: git://git.gluster.com/glusterfs.git
signal received: 6
time of crash: 2012-07-04 13:42:53
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.3.0qa45
/lib64/libc.so.6[0x32c4632900]
/lib64/libc.so.6(gsignal+0x35)[0x32c4632885]
/lib64/libc.so.6(abort+0x175)[0x32c4634065]
/lib64/libc.so.6[0x32c466f977]
/lib64/libc.so.6[0x32c4675296]
/usr/lib64/libglusterfs.so.0(data_destroy+0x55)[0x32c5a14675]
/usr/lib64/libglusterfs.so.0(dict_destroy+0x36)[0x32c5a15026]
/usr/lib64/glusterfs/3.3.0qa45/xlator/storage/posix.so(posix_getxattr+0x552)[0x7f86c3de8462]
/usr/lib64/glusterfs/3.3.0qa45/xlator/features/access-control.so(posix_acl_getxattr+0x148)[0x7f86c3bd7c68]
/usr/lib64/glusterfs/3.3.0qa45/xlator/features/locks.so(pl_getxattr+0x1a9)[0x7f86c39c37b9]
/usr/lib64/glusterfs/3.3.0qa45/xlator/performance/io-threads.so(iot_getxattr_wrapper+0x122)[0x7f86c37aa5d2]
/usr/lib64/libglusterfs.so.0(call_resume+0xda7)[0x32c5a2f147]
/usr/lib64/glusterfs/3.3.0qa45/xlator/performance/io-threads.so(iot_worker+0x15b)[0x7f86c37b1d9b]
/lib64/libpthread.so.0[0x32c4e077f1]
/lib64/libc.so.6(clone+0x6d)[0x32c46e5ccd]
Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 2 Raghavendra Bhat 2012-07-10 12:09:07 UTC
getxattr, removexattr and setxattr operations running parallely on a file (xattr is also same) will reproduce the crash.

A patch (http://review.gluster.com/#change,3640) has been sent for this. Once it gets accepted in master, will be backported to release-3.3 branch.

Comment 3 Amar Tumballi 2012-08-23 06:44:48 UTC
This bug is not seen in current master branch (which will get branched as RHS 2.1.0 soon). To consider it for fixing, want to make sure this bug still exists in RHS servers. If not reproduced, would like to close this.

Comment 4 Raghavendra Bhat 2012-08-23 06:50:52 UTC
http://review.gluster.com/3673 and http://review.gluster.com/3681 fixes this bug also. Its fixed now.

Comment 5 Vijay Bellur 2012-12-18 02:05:39 UTC
CHANGE: http://review.gluster.org/4319 (cluster/afr: check for the -ve values returned from dict_serialized_length) merged in master by Anand Avati (avati)

Comment 6 Sachidananda Urs 2013-01-10 10:15:58 UTC
Is not reproducible in glusterfs-3.4.0qa5.

Ran a million parallel setfattr (setting and deleting xattrs) and getfattr operations. No crashes.

Comment 7 Scott Haines 2013-09-23 22:32:44 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. 

For information on the advisory, and where to find the updated files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1262.html