ExportXMLWordPrintableJSON

    • Server Programmability
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When we crash in the logging subsystem, we don't send crash logs back through that same subsystem. Instead, we write them directly to stderr (see logNoRecursion and printStackTraceNoRecursion in signal_handlers_synchronous.cpp).

      When we start the server with --fork, we connect stdin/stderr/stdout to /dev/null (see forkServer() in initialize_server_global_state.cpp). So, these failures go nowere. We might say "we get a coredump, isn't that good enough" but we don't necessarily get a coredump depending on the system's configuration. For example, atlas might configure a limit of 0B for coredumps, so in fact we get nothing but a dead server.

      Also, third-party libraries like OpenSSL might write errors to stderr, and we lose those too.

            Assignee:
            Ryan Berryhill
            Reporter:
            Ryan Berryhill
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: