I haven't seen anything like this, and I don't see any codepaths that 
would allow dirents and num_entries to get out-of-sync.  Do you have a 
workload to reproduce this?  The relevant code is the same on next, so I 
should be able to reproduce there.
Daniel
On 11/29/2018 01:22 PM, Malahal Naineni wrote:
 The prev_chunk's dirent list is empty although it has num_entries
as
 112.  Crashes at the following  line as the dirents list is empty.
 
 chunk->reload_ck = glist_last_entry(&prev_chunk->dirents,
                                      mdcache_dir_entry_t,
                                      chunk_list)->ck;
 
 
 
 #0  0x00007fae938dc4ab in raise () from /lib64/libpthread.so.0
 #1  0x000000000045549e in crash_handler (signo=11,
 info=0x7fae25f48eb0, ctx=0x7fae25f48d80) at
 /usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/MainNFSD/nfs_init.c:225
 #2  <signal handler called>
 #3  mdcache_get_chunk (parent=0x7faa1001a290,
 prev_chunk=0x7fade0206350, whence=2147483647) at
/usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.c:909
 #4  0x000000000054fbe9 in mdcache_populate_dir_chunk
 (directory=0x7faa1001a290, whence=2147483647, dirent=0x7fae25f49680,
 prev_chunk=0x7fade0206350, eod_met=0x7fae25f4967f) at
/usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c:2659
 #5  0x0000000000551767 in mdcache_readdir_chunked
 (directory=0x7faa1001a290, whence=2147483647,
 dir_state=0x7fae25f49990, cb=0x43310f <populate_dirent>, attrmask=0,
 eod_met=0x7fae25f49e8b) at
/usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c:3053
 #6  0x000000000053f39f in mdcache_readdir (dir_hdl=0x7faa1001a2c8,
 whence=0x7fae25f49970, dir_state=0x7fae25f49990, cb=0x43310f
 <populate_dirent>, attrmask=0, eod_met=0x7fae25f49e8b) at
/usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_handle.c:639
 #7  0x00000000004339f3 in fsal_readdir (directory=0x7faa1001a2c8,
 cookie=2147483647, nbfound=0x7fae25f49e8c, eod_met=0x7fae25f49e8b,
 attrmask=0, cb=0x495d70 <nfs3_readdir_callback>,
 opaque=0x7fae25f49e40) at
 /usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/FSAL/fsal_helper.c:1502
 #8  0x0000000000495b57 in nfs3_readdir (arg=0x7fa8b4f75e80,
 req=0x7fa8b4f75678, res=0x7faad82c8c70) at
 /usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/Protocols/NFS/nfs3_readdir.c:289
 #9  0x000000000044ccde in nfs_rpc_execute (reqdata=0x7fa8b4f75650) at
/usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/MainNFSD/nfs_worker_thread.c:1290
 #10 0x000000000044d4e8 in worker_run (ctx=0x4926600) at
/usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/MainNFSD/nfs_worker_thread.c:1562
 #11 0x000000000050c57f in fridgethr_start_routine (arg=0x4926600) at
 /usr/src/debug/nfs-ganesha-2.5.3-ibm031.00-0.1.1-Source/support/fridgethr.c:550
 
 (gdb) frame 3
 (gdb) p *prev_chunk
 $9 = {chunks = {next = 0x7faad808a570, prev = 0x7fade00000d8}, dirents
 = {next = 0x7fade0206360, prev = 0x7fade0206360}, parent = 0x0,
 chunk_lru = {q = {next = 0x0, prev = 0x0}, qid = LRU_ENTRY_L1, refcnt
 = 0, flags = 0, lane = 534, cf = 0}, reload_ck = 1453366958, next_ck =
 0, num_entries = 112}
 
 Regards, Malahal.
 PS: code frome here:
 
https://github.com/malahal/nfs-ganesha/commits/ibm2.5 for matching
 crash line numbers!
 _______________________________________________
 Devel mailing list -- devel(a)lists.nfs-ganesha.org
 To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org