Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
ALL
-
-
Sharding 2019-02-25, Sharding 2019-03-25, Sharding 2019-04-08
-
18
Description
In AsyncWorkScheduler::scheduleRemoteCommand(), we create an OpMsg object and pass to ServiceEntryPoint::handleRequest() to execute. This OpMsg object is torn down after we return the response status to the caller. This leaves us with a CurOp::_opDescription field that points to an unowned BSONObj that no longer exists. This object is unowned because copying is expensive and we expect that any OpMsg passed to ServiceEntryPoint::handleRequest() will outlive the client's CurOp object.