Bug 1343821

Summary: SNAPSHOT-VSS : Snapd crashed while deactivate and activate operations
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Vivek Das <vdas>
Component: snapshotAssignee: Bug Updates Notification Mailing List <rhs-bugs>
Status: CLOSED WONTFIX QA Contact: storage-qa-internal <storage-qa-internal>
Severity: high Docs Contact:
Priority: high    
Version: rhgs-3.1CC: rcyriac, rhinduja, rhs-bugs
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: Consequence: Workaround (if any): Result:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-16 16:04:11 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 Vivek Das 2016-06-08 06:04:52 UTC
Description of problem:
snapshot daemon is crashing on snapshot deactivate and activate.
On a 4 node samba setup with ctdb and VSS plugin mount the volume on windows create files with content.Take a snapshot activate snapshot. On the client modify the file and restore the snapshot.Then again modify the file and go ahead deactivate the snapshot, now activate the snapshot again.Results in snapd crash.

Version-Release number of selected component (if applicable):
samba 4.4.3-7
gluster 3.7.9-8
windows 8 Enterprise

How reproducible:
3/3

Steps to Reproduce:
1.4 Node cluster with samba ctdb setup and complete VSS plugin
2.systemctl stop ctdb
3.systemctl start ctdb
4.ctdb status (wait for ok state)
5.mount share on windows
6.Create a directory create a file inside that directory.
7.write some content in the file
8.take a snapshot
9.activate the snapshot
10.modify the same file on windows
11.Restore the file (should be successfull)
12.Modify the file once again
13.right click just check for snapshot listed for restore (do not restore)
14.Deactivate snapshot
15.Activate snapshot
16.Check for .snaps directory in windows mounted share
17.Try to restore the modified file
18.systemctl stop ctdb
19.systemctl start ctdb
20.ctdb status (wait for ok state)
21.Now take another snapshot
22.Activate snapshot
23.Now check for .snaps directory in windows
24.Try to modify and restore
25.Check for core dumps


Actual results:
.snaps directory is not visible
Snapd crashed

Expected results:
Should not crash and should be able to retrieve after deactivate and activate

Additional info:

(gdb) bt
#0  0x00007fc8257e3210 in pthread_spin_lock () from /lib64/libpthread.so.0
#1  0x00007fc8269a2529 in inode_ctx_get0 (inode=0x7fc7fa278164, 
    xlator=xlator@entry=0x7fc8040227d0, value1=value1@entry=0x7fc812e37af0)
    at inode.c:2126
#2  0x00007fc8269a25c5 in inode_needs_lookup (inode=0x7fc7fa278164, 
    this=0x7fc8040227d0) at inode.c:1907
#3  0x00007fc818d0bd56 in __glfs_resolve_inode (fs=fs@entry=0x7fc804000a40, 
    subvol=subvol@entry=0x7fc7fc0121a0, object=object@entry=0x7fc80403f2b0)
    at glfs-resolve.c:1005
#4  0x00007fc818d0be5b in glfs_resolve_inode (fs=fs@entry=0x7fc804000a40, 
    subvol=subvol@entry=0x7fc7fc0121a0, object=object@entry=0x7fc80403f2b0)
    at glfs-resolve.c:1031
#5  0x00007fc818d0c7fd in glfs_h_getxattrs_common (fs=fs@entry=0x7fc804000a40, 
    object=object@entry=0x7fc80403f2b0, xattr=xattr@entry=0x7fc812e37c30, 
    name=name@entry=0x7fc80c020060 "user.DOSATTRIB", 
    is_listxattr=<optimized out>) at glfs-handleops.c:350
#6  0x00007fc818d0c9b8 in pub_glfs_h_getxattrs (fs=fs@entry=0x7fc804000a40, 
    object=object@entry=0x7fc80403f2b0, 
    name=name@entry=0x7fc80c020060 "user.DOSATTRIB", value=value@entry=0x0, 
    size=size@entry=0) at glfs-handleops.c:390
#7  0x00007fc818f222b1 in svs_getxattr (frame=0x7fc82448002c, 
    this=0x7fc814005e50, loc=0x7fc823f26f20, 
    name=0x7fc80c020060 "user.DOSATTRIB", xdata=<optimized out>)    at snapview-server.c:852
#8  0x00007fc826990ab3 in default_getxattr_resume (frame=0x7fc824480434, 
    this=0x7fc814009870, loc=0x7fc823f26f20, 
    name=0x7fc80c020060 "user.DOSATTRIB", xdata=0x0) at defaults.c:1531
#9  0x00007fc8269b23ad in call_resume (stub=0x7fc823f26ee0) at call-stub.c:2576
#10 0x00007fc818047363 in iot_worker (data=0x7fc81401cce0) at io-threads.c:215
#11 0x00007fc8257dedc5 in start_thread () from /lib64/libpthread.so.0
#12 0x00007fc825123ced in clone () from /lib64/libc.so.6

Comment 4 Vivek Das 2016-06-08 09:50:39 UTC
Proposed Blocker as it is related to deactivate & activate of snapshot and can be reproduced every time.

Comment 6 Avra Sengupta 2016-06-13 06:22:36 UTC
This issue is already documented as a known issue as part of https://bugzilla.redhat.com/show_bug.cgi?id=1201820

Comment 7 rjoseph 2016-06-13 06:32:48 UTC
Based on comment 6 removing requires_doc_text field.