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

    • Server Tooling & Methods
    • TIG 2017-04-17

      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

            backlog-server-stm Backlog - Server Tooling and Methods (STM) (Inactive)
            jonathan.abrahams Jonathan Abrahams
            0 Vote for this issue
            10 Start watching this issue