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

Run hang_analyzer.py via assert.soon() without calling gcore on ASan builders

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.4
    • Sprint:
      STM 2020-06-15
    • Story Points:
      3

      Description

      The changes from e89c041 as part of SERVER-45884 disabled running the hang analyzer on ASan build variant (i.e. builders using --sanitize=address) via assert.soon() due to gcore not respecting the madvise() settings on the 20TB of shadow memory. This had come up previously in SERVER-29886 for the "timeout" phase in the etc/evergreen.yml project configuration and was resolved by running hang_analyzer.py without the -c option in order to avoid producing core dumps.

      We could similarly have the mongo shell omit the c option when running hang_analyzer.py. On a related note - the mongo shell offers an _isAddressSanitizerActive() function which returns true if it was compiled with -sanitize=address (we generally assume the server binaries have the same build flags), so we should consider removing TestData.isAsanBuild to avoid there being two ways of expressing the same thing.

      Add a test to check that the hang_analyzer still runs on ASan without dumping core.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              richard.samuels Richard Samuels
              Reporter:
              max.hirschhorn Max Hirschhorn
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: