An internal pointer of a wrapper object remains available after the object is freed
Defect 101169 (STATIC_C)
Checker WRAPPER_ESCAPE (subcategory none)
File: /src/mongo/db/s/collection_range_deleter.cpp
Function mongo::CollectionRangeDeleter::run()
/src/mongo/db/s/collection_range_deleter.cpp, line: 78
Assigning: "opCtx" = "mongo::ServiceContext::UniqueOperationContext(mongo::cc()->makeOperationContext(boost::optional<mongo::LogicalSessionId>(_INTERNAL_28_collection_range_deleter_cpp_8cd910ce::boost::none))).get()", which extracts wrapped state from temporary of type "mongo::ServiceContext::UniqueOperationContext".
auto opCtx = cc().makeOperationContext().get();
/src/mongo/db/s/collection_range_deleter.cpp, line: 78
The internal representation of temporary of type "mongo::ServiceContext::UniqueOperationContext" is freed by its destructor.
auto opCtx = cc().makeOperationContext().get();
/src/mongo/db/s/collection_range_deleter.cpp, line: 81
Using internal representation of destroyed object local "opCtx".
bool hasNextRangeToClean = cleanupNextRange(opCtx, maxToDelete);
- is related to
-
SERVER-24367 Implement CollectionRangeDeleter task lifetime management
- Closed