Bug 1472773

Summary: [GNFS] GNFS got crashed while mounting volume on solaris client
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Manisha Saini <msaini>
Component: gluster-nfsAssignee: Niels de Vos <ndevos>
Status: CLOSED ERRATA QA Contact: Manisha Saini <msaini>
Severity: unspecified Docs Contact:
Priority: urgent    
Version: rhgs-3.3CC: amukherj, msaini, ndevos, rhinduja, rhs-bugs, storage-qa-internal
Target Milestone: ---Keywords: Regression
Target Release: RHGS 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8.4-37 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-21 05:04:21 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:
Bug Depends On: 1468291, 1477190    
Bug Blocks: 1417151, 1451224    

Description Manisha Saini 2017-07-19 11:38:18 UTC
Description of problem:

GNFS got crashed while mounting volume on solaris client

Version-Release number of selected component (if applicable):
glusterfs-3.8.4-33.el7rhgs.x86_64

How reproducible:
Consistently

Steps to Reproduce:
1.Create a Volume 2*(4+2) Distributed-Disperse Volume
2.Export the volume via GNFS.Set nfs.disable to off
3.Mount the volume to solaris client

# mount -o proto=tcp,vers=3 nfs://10.70.41.251:/disperseVol /mnt/GNFS_mani/
nfs mount: 10.70.41.251: : RPC: Program not registered
nfs mount: retrying: /mnt/GNFS_mani


Actual results:
GNFS got crashed 

Expected results:
GNFS should not get crash

Additional info:

(gdb) bt
#0  0x00007f8b43d91205 in _gf_ref_put (ref=ref@entry=0x0) at refcount.c:36
#1  0x00007f8b35820455 in nfs3_call_state_wipe (cs=cs@entry=0x0) at nfs3.c:559
#2  0x00007f8b35823dd2 in nfs3_lookup (req=req@entry=0x7f8b3015f3f0, fh=fh@entry=0x7f8b37066ad0, 
    fhlen=<optimized out>, name=name@entry=0x7f8b37066b10 "disperseVol") at nfs3.c:1586
#3  0x00007f8b35824408 in nfs3svc_lookup (req=0x7f8b3015f3f0) at nfs3.c:1615
#4  0x00007f8b43ae58c5 in rpcsvc_handle_rpc_call (svc=0x7f8b3006b9f0, trans=trans@entry=0x7f8b30167270, 
    msg=<optimized out>) at rpcsvc.c:695
#5  0x00007f8b43ae5aab in rpcsvc_notify (trans=0x7f8b30167270, mydata=<optimized out>, 
    event=<optimized out>, data=<optimized out>) at rpcsvc.c:789
#6  0x00007f8b43ae79e3 in rpc_transport_notify (this=this@entry=0x7f8b30167270, 
    event=event@entry=RPC_TRANSPORT_MSG_RECEIVED, data=data@entry=0x7f8b30160720) at rpc-transport.c:538
#7  0x00007f8b389163d6 in socket_event_poll_in (this=this@entry=0x7f8b30167270, 
    notify_handled=<optimized out>) at socket.c:2306
#8  0x00007f8b3891897c in socket_event_handler (fd=34, idx=33, gen=10, data=0x7f8b30167270, poll_in=1, 
    poll_out=0, poll_err=0) at socket.c:2458
#9  0x00007f8b43d7d0f6 in event_dispatch_epoll_handler (event=0x7f8b37067e80, event_pool=0x55d3ffe94fd0)
    at event-epoll.c:572
#10 event_dispatch_epoll_worker (data=0x55d3ffedb5f0) at event-epoll.c:648
#11 0x00007f8b42b81e25 in start_thread () from /lib64/libpthread.so.0
#12 0x00007f8b4244e34d in clone () from /lib64/libc.so.6



Will be attching sosreports and core dumps shortly

Comment 3 Atin Mukherjee 2017-07-19 13:10:26 UTC
upstream patch : https://review.gluster.org/17822

Comment 8 Niels de Vos 2017-07-25 08:14:16 UTC
In case no sub-dir is given for mounting, mnt3_parse_dir_exports() returns -ENOENT. I expected it to return "/" in case no subdir, was given during mounting.

Now testing with getting "/" as default subdir. Behaviour of no-subdir and subdir mounts should be the same everywhere.

Comment 10 Niels de Vos 2017-07-27 12:54:14 UTC
Two more upstream patches have been posted:

https://review.gluster.org/17897
- libglusterfs: the global_xlator should have valid cbks

https://review.gluster.org/17898
- nfs: use "/" as subdir for volume mounts


With these changes subdir mounting (and restricting access) works for me. The additional test by deleting the subdir after mounting does not segfault anymore either.

Comment 12 Atin Mukherjee 2017-08-01 12:47:51 UTC
upstream 3.12 patches:

https://review.gluster.org/17946
https://review.gluster.org/17947

Comment 18 Manisha Saini 2017-08-03 14:46:02 UTC
Niels,


As the use case is passing for this bug we can keep this bug in Verified state only instead of moving from verified to FailQA.
We can have a separate bug to track this backport.

Comment 20 errata-xmlrpc 2017-09-21 05:04:21 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.

https://access.redhat.com/errata/RHBA-2017:2774