We are seeing a failure in MongoDb testing where the following assert in __curfile_reopen fails:
WT_ASSERT(session, can_reopen || dhandle != session->dhandle);
This code was added recently as part of WT-6743.
MongoDB stacktrace:
mongo::stack_trace_detail::(anonymous namespace)::printStackTraceImpl(mongo::stack_trace_detail::(anonymous namespace)::Options const&, mongo::StackTraceSink*)
mongo::printStackTrace()
abruptQuit
killpg
gsignal
abort
__wt_abort
__curfile_reopen
__wt_session_cursor_cache_sweep
__wt_cursor_cache_release
__curfile_close
mongo::WiredTigerSession::closeAllCursors(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
mongo::WiredTigerSessionCache::releaseSession(mongo::WiredTigerSession*)
mongo::WiredTigerRecoveryUnit::~WiredTigerRecoveryUnit()
mongo::WiredTigerRecoveryUnit::~WiredTigerRecoveryUnit()
std::unique_ptr<mongo::RecoveryUnit, std::default_delete<mongo::RecoveryUnit> >::~unique_ptr()
mongo::OperationContext::~OperationContext()
mongo::OperationContext::~OperationContext()
mongo::ServiceContext::OperationContextDeleter::operator()(mongo::OperationContext*) const
mongo::transport::ServiceStateMachine::Impl::processMessage()
mongo::future_details::FutureImpl<mongo::future_details::FakeVoid>::then<mongo::transport::ServiceStateMachine::Impl::startNewLoop(mongo::Status const&)::$_9>(mongo::transport::ServiceStateMachine::Impl::startNewLoop(mongo::Status const&)::$_9&&) &&::{lambda(mongo::future_details::FakeVoid&&)#1}::operator()(mongo::future_details::FakeVoid&&) const
mongo::transport::ServiceStateMachine::Impl::startNewLoop(mongo::Status const&)
void mongo::unique_function<void (mongo::Status)>::callRegularVoid<mongo::transport::ServiceStateMachine::Impl::startNewLoop(mongo::Status const&)::$_11::operator()(mongo::Status) const::{lambda(mongo::Status)#1}>(std::integral_constant<bool, true>, mongo::transport::ServiceStateMachine::Impl::startNewLoop(mongo::Status const&)::$_11::operator()(mongo::Status) const::{lambda(mongo::Status)#1}&, mongo::Status&&)
void mongo::unique_function<void (mongo::Status)>::callRegularVoid<mongo::transport::ServiceExecutorSynchronous::runOnDataAvailable(std::shared_ptr<mongo::transport::Session> const&, mongo::unique_function<void (mongo::Status)>)::$_5>(std::integral_constant<bool, true>, mongo::transport::ServiceExecutorSynchronous::runOnDataAvailable(std::shared_ptr<mongo::transport::Session> const&, mongo::unique_function<void (mongo::Status)>)::$_5&, mongo::Status&&)
mongo::unique_function<void ()>::makeImpl<mongo::transport::ServiceExecutor::schedule(mongo::unique_function<void (mongo::Status)>)::{lambda()#1}>(mongo::transport::ServiceExecutor::schedule(mongo::unique_function<void (mongo::Status)>)::{lambda()#1}&&)::SpecificImpl::call()
void mongo::unique_function<void ()>::callRegularVoid<mongo::transport::ServiceExecutorSynchronous::scheduleTask(mongo::unique_function<void ()>, mongo::transport::ServiceExecutor::ScheduleFlags)::$_4>(std::integral_constant<bool, true>, mongo::transport::ServiceExecutorSynchronous::scheduleTask(mongo::unique_function<void ()>, mongo::transport::ServiceExecutor::ScheduleFlags)::$_4&)
void mongo::unique_function<void ()>::callRegularVoid<mongo::launchServiceWorkerThread(mongo::unique_function<void ()>)::$_3>(std::integral_constant<bool, true>, mongo::launchServiceWorkerThread(mongo::unique_function<void ()>)::$_3&)
mongo::(anonymous namespace)::runFunc(void*)
start_thread
clone