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

Fix libunwind unwinding through the VDSO

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Server Programmability
    • ALL

      Our current libunwind implementation fails when attempting to unwind through the VDSO. The VDSO is mapped in the process address space in the kernel. However, libunwind assumes the VDSO is a physical file, and attempts to open and mmap it. This mmapping generates an error that bubbles up to the mongo stack trace logging layer.

      The consequence is that the particular frame in the VDSO will not be output as part of the stack trace. An error will be emitted, but the stack trace will continue to be unwound and written to the logs.

      I want to be clear – no stack traces are missing as a consequence of this behavior. We are only missing the frame in the VDSO, and then emitting an error to the logs.

      There is an unmerged pull request in the libunwind repo to fix this behavior.

            Assignee:
            Unassigned Unassigned
            Reporter:
            blake.oler@mongodb.com Blake Oler
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: