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

    • Fully Compatible
    • v3.4, v3.2
    • TIG 2017-03-27, TIG 2017-04-17

      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.

            eddie.louie Eddie Louie
            max.hirschhorn@mongodb.com Max Hirschhorn
            1 Vote for this issue
            7 Start watching this issue