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

resmoke.py should escape null bytes in the output of subprocesses

    • Fully Compatible
    • STM 2019-03-25
    • 1

      mongod is very happy to write null bytes to its stdout when they come from user input. Take setting logComponentVerbosity={write: 1} and including a null byte in an update command as one example. mongod writing a null byte to its stdout causes resmoke.py to write a null bytes to its stdout. (resmoke.py currently only attempts to deal with how the server doesn't necessarily write valid UTF-8 to its logs, see SERVER-7506). This has an unfortunate consequence with tools like grep which treat output containing a null byte as binary rather than text.

      In order to make it so grep --text doesn't need to be specified when engineers are filtering out log messages from the server that pass through resmoke.py, we should have resmoke.py escape b"\0" as

      b"\\0"

      .

            Assignee:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: