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

Enterprise libgcrypt initializer missing dependency edge with client context sasl initializer

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Gone away
    • Affects Version/s: 2.4.0
    • Fix Version/s: None
    • Component/s: Internal Code
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Steps To Reproduce:
      Hide

      Non-deterministic, because it depends on the link.

      Show
      Non-deterministic, because it depends on the link.

      Description

      The gsasl initialization detection logic in the enterprise repo:

      https://github.com/10gen/mongo-enterprise-modules/blob/master/src/gcrypt_init.cpp#L22-L25

      Can end up running after the gsasl initialization in the client:

      https://github.com/mongodb/mongo/blob/master/src/mongo/client/sasl_client_authenticate_impl.cpp#L42-L49

      This is a problem because the client initializer calls sasl_init, which may initialize gcrypt, but the enterprise initializer needs to be the first to initialize gcrypt. The enterprise initializer detects that it did not get to initialize gcrypt, and errors out, preventing mongod from starting.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              acm Andrew Morrow
              Reporter:
              acm Andrew Morrow
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: