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

Generate report.json file and dump stacks on Windows when Event object created by resmoke.py is set

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v3.4, v3.2
    • Sprint:
      TIG 2017-03-27, TIG 2017-04-17

      Description

      The following describes Windows support for generating a report.json file when the task times out in Evergreen. It is adapted from what is currently done in shell_utils_launcher.cpp and signal_handlers.cpp.

      In resmoke.py

      Spawn a new thread in resmoke.py that

      1. Creates an Event object using win32event.CreateEvent().
      2. Waits on the Event object indefinitely using win32event.WaitForSingleObject().
      3. If the event is ever set, then dump the stacks of the process and write out the report.json file.
      In hang_analyzer.py
      1. Get the handle to the Event object created by resmoke.py using win32event.OpenEvent().
      2. Set the event.

      We still need to come up with some naming convention for the Event object. One idea is for it to use the task_id from Evergreen.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: