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

Hang analyzer GDB module mongo_lock.py should use a memory based mechanism to discover the locks

    XMLWordPrintable

    Details

    • Sprint:
      TIG 2017-04-17

      Description

      The lock discovery used in the Hang Analyzer GDB module mongo_lock.py invokes functions to retrieve lock data. This approach has the following side affects:

      • Only works for a live process, and not with a core dump
      • When the function is called, other threads can run, which may change the state of the lock tables

      A preferable method would be to inspect memory, including the complex C++ std structures, like iterating over an ordered Map. Since this is a difficult undertaking, it may be possible using a third party module, like the Tr1UnorderedMapPrinter class found in /opt/mongodbtoolchain/v2/share/gcc-5.4.0/python/libstdcxx/v6/printers.py

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-stm Backlog - Server Tooling and Methods (STM)
              Reporter:
              jonathan.abrahams Jonathan Abrahams
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated: