Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-42922

failCommand + closeConnection can dereference a null session pointer

    XMLWordPrintable

Details

    • 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

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              jason.carey@mongodb.com Jason Carey
              daniel.gottlieb@mongodb.com Daniel Gottlieb
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: