Hi, Pradeep.

There's been 6 sets of code changes to dupreq since dev-22, including refcount bugfixes. Can you try with 2.6-rc2?

Daniel

On 01/13/2018 08:50 PM, Pradeep wrote:
Hello,

I'm seeing a segfault in nfs_dupreq_finish() with 2.6.dev.22. This is
when using NFSv4.0 clients. The dupreq_entry seems to be malformed
(drc is still NULL)

#0  0x00007f761902023b in raise () from /lib64/libpthread.so.0
#1  0x0000000000442a67 in crash_handler (signo=11,
info=0x7f75ed745730, ctx=0x7f75ed745600)
     at /usr/src/debug/nfs-ganesha-2.6-dev.22/MainNFSD/nfs_init.c:263
#2  <signal handler called>
#3  0x00007f761901abd0 in pthread_mutex_lock () from /lib64/libpthread.so.0
#4  0x00000000004e01d6 in nfs_dupreq_finish (req=0x7f75e1cab800,
res_nfs=0x7f75db135380)
     at /usr/src/debug/nfs-ganesha-2.6-dev.22/RPCAL/nfs_dupreq.c:1174
#5  0x0000000000459064 in nfs_rpc_process_request (reqdata=0x7f75e1cab800)
     at /usr/src/debug/nfs-ganesha-2.6-dev.22/MainNFSD/nfs_worker_thread.c:1416
#6  0x0000000000459493 in nfs_rpc_valid_NFS (req=0x7f75e1cab800)

(gdb) f 4
#4  0x00000000004e01d6 in nfs_dupreq_finish (req=0x7f75e1cab800,
res_nfs=0x7f75db135380)
     at /usr/src/debug/nfs-ganesha-2.6-dev.22/RPCAL/nfs_dupreq.c:1174
1174            PTHREAD_MUTEX_lock(&drc->mtx);
(gdb) p *dv
$1 = {rbt_k = {left = 0x0, right = 0x0, parent = 0x0, red = 2, gen =
103478}, fifo_q = {tqe_next = 0x7f7601109a80,
     tqe_prev = 0x7f75e49a62e0}, mtx = {__data = {__lock = 0, __count =
0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0,
       __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size =
'\000' <repeats 39 times>, __align = 0}, hin = {drc = 0x0,
     addr = {ss_family = 0, __ss_padding = '\000' <repeats 117 times>,
__ss_align = 0}, tcp = {rq_xid = 0, checksum = 0},
     rq_prog = 0, rq_vers = 0, rq_proc = 0}, hk = 0, state =
DUPREQ_COMPLETE, refcnt = 2, res = 0x7f75db135380,
   timestamp = 1515724505}

(gdb) p *req
$2 = {rq_xprt = 0x7f75df908400, rq_clntname = 0x0, rq_svcname = 0x0,
rq_xdrs = 0x7f75c8047400, rq_u1 = 0x7f75db135380,
   rq_u2 = 0x7f75db135380, rq_cksum = 8804038937737838967, rq_auth =
0x7f7618e07d70 <svc_auth_none>, rq_ap1 = 0x0, rq_ap2 = 0x0,
   rq_msg = {rm_xid = 2828691980, rm_direction = REPLY, ru = {RM_cmb =
{cb_rpcvers = 2}, RM_rmb = {rp_stat = MSG_ACCEPTED, ru = {
           RP_ar = {ar_stat = SUCCESS, ru = {AR_versions = {low =
4549240, high = 0}, AR_results = {
                 proc = 0x456a78 <xdr_COMPOUND4res>, where =
0x7f75db135380}}, ar_verf = {oa_flavor = 0, oa_length = 0,
               oa_body = '\000' <repeats 399 times>}}, RP_dr = {rj_stat
= RPC_MISMATCH, ru = {RJ_versions = {low = 0,
                 high = 4549240}, RJ_why = AUTH_OK}}}}}, rm_xdr = {proc
= 0x4569bf <xdr_COMPOUND4args>, where = 0x7f75e1cabf08},

Not sure how most of the fields in dupreq_entry can be zeros when it
reaches nfs_dupreq_finish() - at least rq_xid, rq_prog etc., should
have been filled.

If this is a known issue, please let me know.

Thanks,

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to