Bug 861335

Summary: GlusterFS client crashed due to Segmentation fault.
Product: [Community] GlusterFS Reporter: lbyeason <linbaiye>
Component: replicateAssignee: Csaba Henk <csaba>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: mainlineCC: gluster-bugs, jdarcy
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.4.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-24 17:17:34 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 lbyeason 2012-09-28 08:14:37 UTC
Description of problem:
GlusterFS client crashed due to Segmentation fault.
The backtrace is here:
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/local/sbin/glusterfs --volfile-id=/volume1 --volfile-server=10.217.12.229'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f450c9b6a17 in initialize_inodelk_variables (frame=0x7f450fa71874, this=<optimized out>) at afr-lk-common.c:483
483	                int_lock->inode_locked_nodes[i] = 0;
(gdb) bt
#0  0x00007f450c9b6a17 in initialize_inodelk_variables (frame=0x7f450fa71874, this=<optimized out>) at afr-lk-common.c:483
#1  afr_nonblocking_inodelk (frame=0x7f450fa71874, this=0x12ab350) at afr-lk-common.c:1436
#2  0x00007f450c9a06c0 in afr_lock_rec (frame=0x7f450fa71874, this=<optimized out>) at afr-transaction.c:1182
#3  0x00007f450c9a1df8 in afr_transaction (frame=0x7f450fa71874, this=0x12ab350, type=<optimized out>) at afr-transaction.c:1482
#4  0x00007f450c999e40 in afr_truncate (frame=0x7f450fc78b98, this=0x12ab350, loc=0x7f450f93a06c, offset=0, xdata=<optimized out>)
    at afr-inode-write.c:679
#5  0x00007f450c762060 in dht_truncate (frame=<optimized out>, this=<optimized out>, loc=0x7f450f93a06c, offset=0, xdata=0x0)
    at dht-inode-write.c:295
#6  0x00007f450c527deb in wb_truncate_helper (frame=<optimized out>, this=0x12ad5b0, loc=0x7f450f93a06c, offset=0, xdata=0x0)
    at write-behind.c:1157
#7  0x00007f4511a44d57 in call_resume_wind (stub=0x7f450f93a02c) at call-stub.c:2474
#8  call_resume (stub=0x7f450f93a02c) at call-stub.c:4142
#9  0x00007f450c52dc90 in wb_resume_other_requests (frame=0x7f450fc78a40, wb_inode=0x1326530, other_requests=0x7f4506ad0ac0)
    at write-behind.c:2039
#10 0x00007f450c52de77 in wb_do_ops (frame=0x7f450fc78a40, wb_inode=0x1326530, winds=0x7f4506ad0aa0, unwinds=<optimized out>, 
    other_requests=0x7f4506ad0ac0) at write-behind.c:2077
#11 0x00007f450c52be34 in wb_process_queue (frame=0x7f450fc78a40, wb_inode=0x1326530) at write-behind.c:2265
#12 0x00007f450c52efd4 in wb_truncate (frame=0x7f450fc78a40, this=0x12ad5b0, loc=<optimized out>, offset=0, xdata=0x0) at write-behind.c:1205
#13 0x00007f450c31ee58 in ra_truncate (frame=<optimized out>, this=0x12ae7d0, loc=0x7f4500000ad0, offset=0, xdata=0x0) at read-ahead.c:757
#14 0x00007f450c10ec6c in ioc_truncate (frame=<optimized out>, this=0x12af7d0, loc=0x7f4500000ad0, offset=0, xdata=0x0) at io-cache.c:1323
#15 0x00007f4511a334a4 in default_truncate (frame=<optimized out>, this=0x12b09a0, loc=0x7f4500000ad0, offset=0, xdata=0x0)
    at defaults.c:1222
#16 0x00007f4507be386a in mdc_truncate (frame=<optimized out>, this=0x12b1af0, loc=0x7f4500000ad0, offset=0, xdata=0x0) at md-cache.c:901
#17 0x00007f45079cceff in io_stats_truncate (frame=<optimized out>, this=0x12b2c60, loc=0x7f4500000ad0, offset=0, xdata=0x0)
    at io-stats.c:2019
#18 0x00007f450f4b9f3d in fuse_do_truncate (state=0x7f4500000ab0, size=0) at fuse-bridge.c:832
#19 0x00007f450f4a9b16 in fuse_resolve_done (state=<optimized out>) at fuse-resolve.c:552
#20 fuse_resolve_all (state=<optimized out>) at fuse-resolve.c:581
#21 0x00007f450f4a99d0 in fuse_resolve (state=0x7f4500000ab0) at fuse-resolve.c:538
#22 0x00007f450f4a9b5e in fuse_resolve_all (state=<optimized out>) at fuse-resolve.c:577
#23 fuse_resolve_all (state=<optimized out>) at fuse-resolve.c:563
#24 0x00007f450f4a9711 in fuse_resolve_continue (state=0x7f4500000ab0) at fuse-resolve.c:597
#25 0x00007f450f4a9815 in fuse_resolve_inode (state=0x7f4500000ab0) at fuse-resolve.c:344
#26 0x00007f450f4a9a9d in fuse_resolve (state=0x7f4500000ab0) at fuse-resolve.c:535
#27 0x00007f450f4a9b3e in fuse_resolve_all (state=<optimized out>) at fuse-resolve.c:570
#28 0x00007f450f4aa028 in fuse_resolve_and_resume (state=0x7f4500000ab0, fn=0x7f450f4ba410 <fuse_setattr_resume>) at fuse-resolve.c:610
#29 0x00007f450f4bd2f4 in fuse_thread_proc (data=0x128eb50) at fuse-bridge.c:4217
#30 0x00007f45113cce9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#31 0x00007f45110fa4bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#32 0x0000000000000000 in ?? ()
(gdb) q


Version-Release number of selected component (if applicable):


How reproducible:


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


Expected results:


Additional info:

Comment 1 Vijay Bellur 2012-10-12 03:59:55 UTC
CHANGE: http://review.gluster.org/4005 (Preventing client crashing as the callings of GF_CALLOC has been failed.) merged in master by Anand Avati (avati)

Comment 2 Vijay Bellur 2012-11-21 20:03:48 UTC
CHANGE: http://review.gluster.org/4220 (cluster/afr: check transaction type for eager-lock after it is set) merged in master by Anand Avati (avati)