-
Type: Bug
-
Resolution: Gone away
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
-
Service Arch
-
ALL
-
10
Discovered while patch-building an unrelated issue (SERVER-72373).
Needs investigation. Never seen this before and it may be due to some change in the codebase outside of SessionWorkflow?
Test: build/install/bin/transport_test
Task: run_unittests
Build Variant: enterprise-rhel80-debug-tsan
Project: mongodb-mongo-master
[cpp_unit_test:transport_test] | 2023-01-03T21:35:15.167Z I TEST 23063 [main] "Running","attr":{"suite":"SessionWorkflowWithBorrowedThreadsTest"} [cpp_unit_test:transport_test] | 2023-01-03T21:35:15.167Z I TEST 23059 [main] "Running","attr":{"test":"DefaultLoop","rep":1,"reps":1} [cpp_unit_test:transport_test] | 2023-01-03T21:35:15.169Z I TEST 5014106 [main] "Running success case" [cpp_unit_test:transport_test] | 2023-01-03T21:35:15.169Z I NETWORK 22943 [main] "Connection accepted","attr":{"remote":":27017","uuid":{"uuid":{"$uuid":"69cb5d05-3378-4849-a43d-a9bcb3213668"}},"connectionId":35,"connectionCount":1} [cpp_unit_test:transport_test] | 2023-01-03T21:35:15.170Z I TEST 5014102 [SessionWorkflowTest-0] "Finished waiting for data","attr":{"error":{"code":0,"codeName":"OK"}} [cpp_unit_test:transport_test] | 2023-01-03T21:35:15.171Z I TEST 5014103 [conn35] "Sourced message","attr":{"error":{"code":0,"codeName":"OK"}} [cpp_unit_test:transport_test] | 2023-01-03T21:35:15.172Z I TEST 5014100 [SessionWorkflowTest-0] "Handled request","attr":{"error":{"code":0,"codeName":"OK"}} [cpp_unit_test:transport_test] ================== [cpp_unit_test:transport_test] WARNING: ThreadSanitizer: data race (pid=120378) [cpp_unit_test:transport_test] Write of size 8 at 0x7b30000029c8 by thread T373 (mutexes: write M482865031147432344): [cpp_unit_test:transport_test] #0 mongo::Client::_setOperationContext(mongo::OperationContext*) /data/mci/dcd6505e429fb4ae0754cc26c970fb00/src/src/mongo/db/client.h:274:16 (libservice_context.so+0x5ee2e) [cpp_unit_test:transport_test] #1 mongo::ServiceContext::_delistOperation(mongo::OperationContext*) /data/mci/dcd6505e429fb4ae0754cc26c970fb00/src/src/mongo/db/service_context.cpp:411:13 (libservice_context.so+0x5ee2e) [cpp_unit_test:transport_test] #2 mongo::ServiceContext::killAndDelistOperation(mongo::OperationContext*, mongo::ErrorCodes::Error) /data/mci/dcd6505e429fb4ae0754cc26c970fb00/src/src/mongo/db/service_context.cpp:429:5 (libservice_context.so+0x5fa53) [cpp_unit_test:transport_test] #3 mongo::transport::SessionWorkflow::Impl::_acceptResponse(mongo::DbResponse) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/transport/session_workflow.cpp:661:22 (libservice_entry_point.so+0x36824) [cpp_unit_test:transport_test] #4 auto mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8::operator()<mongo::DbResponse>(mongo::DbResponse) const /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/transport/session_workflow.cpp:724:13 (libservice_entry_point.so+0x3c41b) [cpp_unit_test:transport_test] #5 auto mongo::future_details::call<mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&, mongo::DbResponse>(mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&, mongo::DbResponse&&) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:291:12 (libservice_entry_point.so+0x3c41b) [cpp_unit_test:transport_test] #6 auto mongo::future_details::statusCall<mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&, mongo::DbResponse>(mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&, mongo::DbResponse&&) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:314:13 (libservice_entry_point.so+0x3c41b) [cpp_unit_test:transport_test] #7 auto mongo::future_details::FutureImpl<mongo::DbResponse>::then<mongo::CleanupFuturePolicy<false>, mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8, 0>(mongo::CleanupFuturePolicy<false>, mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&&) &&::'lambda'()::operator()() const::'lambda'(mongo::future_details::SharedStateImpl<mongo::DbResponse>*, mongo::future_details::SharedStateImpl<mongo::future_details::FakeVoid>*)::operator()(mongo::future_details::SharedStateImpl<mongo::DbResponse>*, mongo::future_details::SharedStateImpl<mongo::future_details::FakeVoid>*) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:989:41 (libservice_entry_point.so+0x3cd20) [cpp_unit_test:transport_test] #8 mongo::future_details::FutureImpl<mongo::CleanupFuturePolicy<false> > mongo::future_details::FutureImpl<mongo::DbResponse>::makeContinuation<void, auto mongo::future_details::FutureImpl<mongo::DbResponse>::then<mongo::CleanupFuturePolicy<false>, mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8, 0>(mongo::CleanupFuturePolicy<false>, mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&&) &&::'lambda'()::operator()() const::'lambda'(mongo::future_details::SharedStateImpl<mongo::DbResponse>*, mongo::future_details::SharedStateImpl<mongo::future_details::FakeVoid>*)>(mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&&)::'lambda'(mongo::future_details::SharedStateBase*)::operator()(mongo::future_details::SharedStateBase*) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:1354:13 (libservice_entry_point.so+0x3cd20) [cpp_unit_test:transport_test] #9 auto mongo::unique_function<void (mongo::future_details::SharedStateBase*)>::makeImpl<mongo::future_details::FutureImpl<mongo::CleanupFuturePolicy<false> > mongo::future_details::FutureImpl<mongo::DbResponse>::makeContinuation<void, auto mongo::future_details::FutureImpl<mongo::DbResponse>::then<mongo::CleanupFuturePolicy<false>, mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8, 0>(mongo::CleanupFuturePolicy<false>, mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&&) &&::'lambda'()::operator()() const::'lambda'(mongo::future_details::SharedStateImpl<mongo::DbResponse>*, mongo::future_details::SharedStateImpl<mongo::future_details::FakeVoid>*)>(mongo::transport::SessionWorkflow::Impl::_doOneIteration()::$_8&&)::'lambda'(mongo::future_details::SharedStateBase*)>(mongo::CleanupFuturePolicy<false>&&)::SpecificImpl::call(mongo::future_details::SharedStateBase*&&) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/functional.h:259:21 (libservice_entry_point.so+0x3cd20) [cpp_unit_test:transport_test] #10 mongo::unique_function<void (mongo::future_details::SharedStateBase*)>::operator()(mongo::future_details::SharedStateBase*) const /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/functional.h:217:22 (transport_test+0x19e33d) [cpp_unit_test:transport_test] #11 mongo::future_details::SharedStateBase::transitionToFinished() /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:482:13 (transport_test+0x19e33d) [cpp_unit_test:transport_test] #12 mongo::future_details::SharedStateImpl<mongo::DbResponse>::fillFromMove(mongo::future_details::SharedStateImpl<mongo::DbResponse>&&) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:622:9 (transport_test+0x1febac) [cpp_unit_test:transport_test] #13 mongo::future_details::FutureImpl<mongo::DbResponse>::propagateResultTo(mongo::future_details::SharedStateImpl<mongo::DbResponse>*) &&::'lambda'()::operator()() const::'lambda'(mongo::future_details::SharedStateBase*)::operator()(mongo::future_details::SharedStateBase*) const /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/future_impl.h:1260:29 (transport_test+0x1fe8a8) [cpp_unit_test:transport_test] #14 auto mongo::unique_function<void (mongo::future_details::SharedStateBase*)>::makeImpl<mongo::future_details::FutureImpl<mongo::DbResponse>::propagateResultTo(mongo::future_details::SharedStateImpl<mongo::DbResponse>*) &&::'lambda'()::operator()() const::'lambda'(mongo::future_details::SharedStateBase*)>(mongo::DbResponse&&)::SpecificImpl::call(mongo::future_details::SharedStateBase*&&) /data/mci/bae9443fd632463083a8f8ba535a5f4f/src/src/mongo/util/functional.h:259:21 (transport_test+0x1fe8a8)