can reproduce by steps:
date > /mnt/f1.txt, where f1.txt is an existed file before mount
umout /mnt
Ctrl-C to stop ganesha, during the last stage of ganesha exit, it crashed.
call stack is:
0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
1 0x00007f089b4b2864 in __GI_abort () at abort.c:79
4 0x00007f0898ce3ff2 in rocksdb::MergeOperator::PartialMergeMulti (this=0x563f693d6a50, key=..., operand_list=std::deque with 1 element = {...}, new_value=0x7f08697f5210, logg
er=0x0) at db/merge_operator.cc:33
5 0x00007f0898ce0456 in rocksdb::MergeHelper::MergeUntil (this=0x7f08697f57f0, iter=0x7f08697f5e40, range_del_agg=0x7f08400019b0, stop_before=0, at_bottom=false, allow_data_in
_errors=false, blob_fetcher=0x0, prefetch_buffers=0x0, c_iter_stats=0x7f08697f6248) at db/merge_helper.cc:394
6 0x00007f0898af3d20 in rocksdb::CompactionIterator::NextFromInput (this=0x7f08697f5e40) at db/compaction/compaction_iterator.cc:850
7 0x00007f0898af145e in rocksdb::CompactionIterator::SeekToFirst (this=0x7f08697f5e40) at db/compaction/compaction_iterator.cc:146
9 0x00007f0898c89a14 in rocksdb::FlushJob::WriteLevel0Table (this=0x7f08697f7910) at db/flush_job.cc:897
10 0x00007f0898c85f6e in rocksdb::FlushJob::Run (this=0x7f08697f7910, prep_tracker=0x563f693defb0, file_meta=0x7f08697f73e0, switched_to_mempurge=0x7f08697f730d) at db/flush_jo
b.cc:265
11 0x00007f0898bcc47c in rocksdb::DBImpl::FlushMemTableToOutputFile (this=0x563f693dd8c0, cfd=0x563f6963fa40, mutable_cf_options=..., made_progress=0x7f08697f8713, job_context=
0x7f08697f8770, superversion_context=0x7f08400012d0, snapshot_seqs=std::vector of length 0, capacity 0, earliest_write_conflict_snapshot=72057594037927935, snapshot_checker=0x0,
log_buffer=0x7f08697f8970, thread_pri=rocksdb::Env::HIGH) at db/db_impl/db_impl_compaction_flush.cc:232
12 0x00007f0898bcce76 in rocksdb::DBImpl::FlushMemTablesToOutputFiles (this=0x563f693dd8c0, bg_flush_args=..., made_progress=0x7f08697f8713, job_context=0x7f08697f8770, log_buf
fer=0x7f08697f8970, thread_pri=rocksdb::Env::HIGH) at db/db_impl/db_impl_compaction_flush.cc:362
13 0x00007f0898bdacc5 in rocksdb::DBImpl::BackgroundFlush (this=0x563f693dd8c0, made_progress=0x7f08697f8713, job_context=0x7f08697f8770, log_buffer=0x7f08697f8970, reason=0x7f08697f8714, thread_pri=rocksdb::Env::HIGH) at db/db_impl/db_impl_compaction_flush.cc:2731
14 0x00007f0898bdb1fe in rocksdb::DBImpl::BackgroundCallFlush (this=0x563f693dd8c0, thread_pri=rocksdb::Env::HIGH) at db/db_impl/db_impl_compaction_flush.cc:2771
15 0x00007f0898bda36a in rocksdb::DBImpl::BGWorkFlush (arg=0x563f69438fe0) at db/db_impl/db_impl_compaction_flush.cc:2597
16 0x00007f0899070ce3 in std::__invoke_impl<void, void (&)(void), void&> (__f=@0x563f69510210: 0x7f0898bda2e8 <rocksdb::DBImpl::BGWorkFlush(void)>) at /usr/include/c++/9/bi
ts/invoke.h:60
17 0x00007f089907077e in std::invoke<void (&)(void), void*&> (fn=@0x563f69510210: 0x7f0898bda2e8 <rocksdb::DBImpl::BGWorkFlush(void*)>) at /usr/include/c++/9/bits/invoke.
h:95
18 0x00007f089906fdb5 in std::_Bind<void ((void))(void*)>::call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x563f69510210, args=...) at /usr/include/c++/9
/functional:400
19 0x00007f089906ef0b in std::_Bind<void ((void))(void*)>::operator()<, void>() (this=0x563f69510210) at /usr/include/c++/9/functional:484
20 0x00007f089906dc33 in std::_Function_handler<void (), std::_Bind<void ((void))(void*)> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/9/bits/std_f
unction.h:300
21 0x00007f08998787c6 in std::function<void ()>::operator()() const (this=0x7f08697f9440) at /usr/include/c++/9/bits/std_function.h:688
22 0x00007f0899069fee in rocksdb::ThreadPoolImpl::Impl::BGThread (this=0x563f693a4350, thread_id=1) at util/threadpool_imp.cc:266
23 0x00007f089906a181 in rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper (arg=0x563f693db2d0) at util/threadpool_imp.cc:307
24 0x00007f08990716e3 in std::__invoke_impl<void, void ()(void), rocksdb::BGThreadMetadata*> (__f=@0x563f693db490: 0x7f089906a06e <rocksdb::ThreadPoolImpl::Impl::BGThreadWrap
per(void*)>) at /usr/include/c++/9/bits/invoke.h:60
25 0x00007f089907162f in std::invoke<void ()(void), rocksdb::BGThreadMetadata*> (fn=@0x563f693db490: 0x7f089906a06e <rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*)
) at /usr/include/c++/9/bits/invoke.h:95
26 0x00007f089907157f in std::thread::_Invoker<std::tuple<void ()(void), rocksdb::BGThreadMetadata*> >::_M_invoke<0ul, 1ul> (this=0x563f693db488) at /usr/include/c++/9/thread
:244
27 0x00007f0899071521 in std::thread::_Invoker<std::tuple<void ()(void), rocksdb::BGThreadMetadata*> >::operator() (this=0x563f693db488) at /usr/include/c++/9/thread:251
28 0x00007f08990714f2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void ()(void), rocksdb::BGThreadMetadata*> > >::_M_run (this=0x563f693db480) at /usr/includ
e/c++/9/thread:195
29 0x00007f0897ad2de4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
30 0x00007f089b67f590 in start_thread (arg=0x7f08697fa640) at pthread_create.c:463
31 0x00007f089b5a5223 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
can reproduce by steps: date > /mnt/f1.txt, where f1.txt is an existed file before mount umout /mnt Ctrl-C to stop ganesha, during the last stage of ganesha exit, it crashed.
call stack is: