failCommand + closeConnection can dereference a null session pointer

XMLWordPrintableJSON

    • ALL
    • Hide
      1. Initialize a replica set with test commands enabled
      2. db.adminCommand({configureFailPoint: "failCommand", mode: "alwaysOn", data: {failCommands: ["find"], closeConnection: true}})
      3. Wait for the HMAC monitoring periodic runner to execute (or issue a shutdown, which has the same effect)
      Show
      Initialize a replica set with test commands enabled db.adminCommand({configureFailPoint: "failCommand", mode: "alwaysOn", data: {failCommands: ["find"] , closeConnection: true}}) Wait for the HMAC monitoring periodic runner to execute (or issue a shutdown, which has the same effect)
    • Service Arch 2019-10-21
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The conditions evaluated to reach this line are not sufficient to guarantee the session object exists on the client (note the type definition: using SessionHandle = std::shared_ptr<Session>;).

      Notably, the session may be null when using DBDirectClient such as inside the KeysCollectionClientDirect.

              Assignee:
              Mira Carey
              Reporter:
              Daniel Gottlieb (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: