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

ServiceExecutorSynchronous thread_local-related leaks (revert)

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Hide

      only repro is running the benchmark with the benchmarks_orphaned on rhel80-debug-asan as in the linked BF-26477.

      Show
      only repro is running the benchmark with the benchmarks_orphaned on rhel80-debug-asan as in the linked BF-26477.
    • Service Arch 2022-10-17, Service Arch 2022-10-31, Service Arch 2022-11-14, Service Arch 2022-11-28, Service Arch 2022-12-12, Service Arch 2023-02-06
    • 162

      (To fix BF-26477)

      The service_executor_bm C++ benchmark creates service worker threads in a loop, measuring the speed of this operation.

      Under ASAN this causes an accumulation of mmap-resident AsanThread objects that ASAN uses to track each thread, exhuasting the resource limit after roughly 64ki threads have been made. There are not 64k threads in the system. There are only a few at a time, but the ASAN-allocated resources of dead threads linger.

      This may be related to these service worker threads being detached.

      It may be some other leak of the pthreads in the code under test.

            Assignee:
            billy.donahue@mongodb.com Billy Donahue
            Reporter:
            billy.donahue@mongodb.com Billy Donahue
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: