Bug 1065639 - Crash in nfs with encryption enabled
Summary: Crash in nfs with encryption enabled
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: GlusterFS
Classification: Community
Component: glusterd
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-15 10:29 UTC by Vijay Bellur
Modified: 2018-10-05 03:46 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-10-05 03:46:09 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Vijay Bellur 2014-02-15 10:29:57 UTC
Description of problem:

backtrace

#0  0x00000031154180a7 in munmap () from /lib64/ld-linux-x86-64.so.2
#1  0x000000311541784d in _dl_unmap () from /lib64/ld-linux-x86-64.so.2
#2  0x0000003115414877 in _dl_close_worker () from /lib64/ld-linux-x86-64.so.2
#3  0x000000311541523e in _dl_close () from /lib64/ld-linux-x86-64.so.2
#4  0x000000311540f304 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#5  0x000000311640162d in _dlerror_run () from /lib64/libdl.so.2
#6  0x000000311640110f in dlclose () from /lib64/libdl.so.2
#7  0x00007f75668895b4 in xlator_tree_free (tree=<optimized out>) at ../../../libglusterfs/src/xlator.c:550
#8  0x00007f75668b7860 in glusterfs_graph_destroy (graph=graph@entry=0x2260210) at ../../../libglusterfs/src/graph.c:743
#9  0x000000000040799a in glusterfs_process_volfp (ctx=ctx@entry=0x2224010, fp=fp@entry=0x225ffd0) at ../../../glusterfsd/src/glusterfsd.c:1845
#10 0x000000000040bbfb in mgmt_getspec_cbk (req=<optimized out>, iov=<optimized out>, count=<optimized out>, myframe=0x7f75654f6694)
    at ../../../glusterfsd/src/glusterfsd-mgmt.c:1355
#11 0x00007f75666636e0 in rpc_clnt_handle_reply (clnt=clnt@entry=0x2256f70, pollin=pollin@entry=0x225f260)
    at ../../../../rpc/rpc-lib/src/rpc-clnt.c:773
#12 0x00007f7566663951 in rpc_clnt_notify (trans=<optimized out>, mydata=0x2256fa0, event=<optimized out>, data=0x225f260)
    at ../../../../rpc/rpc-lib/src/rpc-clnt.c:901
#13 0x00007f756665fc33 in rpc_transport_notify (this=this@entry=0x225bb20, event=event@entry=RPC_TRANSPORT_MSG_RECEIVED, data=data@entry=0x225f260)
    at ../../../../rpc/rpc-lib/src/rpc-transport.c:512
#14 0x00007f75634cbb20 in socket_event_poll_in (this=this@entry=0x225bb20) at ../../../../../rpc/rpc-transport/socket/src/socket.c:2119
#15 0x00007f75634ce2f4 in socket_event_handler (fd=<optimized out>, idx=1, data=data@entry=0x225bb20, poll_in=1, poll_out=0, poll_err=0)
    at ../../../../../rpc/rpc-transport/socket/src/socket.c:2232
#16 0x00007f75668d4bbb in event_dispatch_epoll_handler (i=<optimized out>, events=0x225dc10, event_pool=0x223fef0)
    at ../../../libglusterfs/src/event-epoll.c:384
#17 event_dispatch_epoll (event_pool=0x223fef0) at ../../../libglusterfs/src/event-epoll.c:445
#18 0x0000000000404bca in main (argc=12, argv=0x7fff79b13b18) at ../../../glusterfsd/src/glusterfsd.c:1983

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 2014-02-15 10:35:37 UTC
(gdb) f 8
#8  0x00007f75668b7860 in glusterfs_graph_destroy (graph=graph@entry=0x2260210) at ../../../libglusterfs/src/graph.c:743
743	        xlator_tree_free (graph->first);
(gdb) f 7
#7  0x00007f75668895b4 in xlator_tree_free (tree=<optimized out>) at ../../../libglusterfs/src/xlator.c:550
550	                        dlclose (prev->dlhandle);
(gdb) p prev
$1 = (xlator_t *) 0x226edc0
(gdb) p *prev
$2 = {name = 0x226e220 "repl-crypt", type = 0x226e240 "encryption/crypt", next = 0x226e310, prev = 0x22701f0, parents = 0x2270c20, 
  children = 0x22701d0, options = 0x7f75650bd748, dlhandle = 0x226f890, fops = 0x7f7561f5afa0 <fops>, cbks = 0x7f7561f5af60 <cbks>, dumpops = 0x0, 
  volume_options = {next = 0x2270150, prev = 0x2270150}, fini = 0x7f7561d55130 <fini>, init = 0x7f7561d54f90 <init>, 
  reconfigure = 0x7f7561d54e00 <reconfigure>, mem_acct_init = 0x7f7566895e10 <default_mem_acct_init>, notify = 0x7f7566895cf0 <default_notify>, 
  loglevel = GF_LOG_NONE, latencies = {{min = 0, max = 0, total = 0, std = 0, mean = 0, count = 0} <repeats 49 times>}, history = 0x0, 
  ctx = 0x2224010, graph = 0x2260210, itable = 0x0, init_succeeded = 0 '\000', private = 0x0, mem_acct = {num_types = 0, rec = 0x0}, winds = 0, 
  switched = 0 '\000', local_pool = 0x0, is_autoloaded = _gf_false}

Comment 2 Edward Shishkin 2014-02-19 16:23:37 UTC
Unfortunately, encryption is incompatible with NFS mounts, and I am not sure if they will make a friendship in future: NFS's file handles introduce security issues, which are hard to resolve. Currently encryption is disabled on the level of file operations (they return EINVAL). However, I feel, that crypt translator should be divorced with NFS a bit earlier.. Any ideas?

Edward.

Comment 3 Niels de Vos 2015-02-27 10:06:55 UTC
I feel that this is a feature request for glusterd. In case nfs is enabled, the crypt xlator should not be loadable.

Kaushal, do you think that makes sense?

Comment 4 Kaushal 2016-08-30 07:31:29 UTC
I'm commenting to remove the needinfo on me. This is such an old bug, I don't know if this is still required. As of right now our support of the crypt xlator is unclear to me (I mostly think we don't support it). So I don't know if disallowing crypt when nfs is enabled is even required.

But this could be a nice RFE for a feature to have mutually exclusive options. ie., options which cannot be enabled when the other is enabled. For eg., options to enable gluster (nfs.enable) and nfs-ganesha (ganesha.enable) could be mutually exclusive. This would avoid a lot of custom checking that is being done in code. This is a nice RFE to do for GD2.

Comment 5 Atin Mukherjee 2018-10-05 03:46:09 UTC
Support of crypt xlator is getting dropped. Closing this bug.


Note You need to log in before you can comment on or make changes to this bug.