[SERVER-50112] Enable support for MiniDebugInfo in third_party libunwind Created: 05/Aug/20 Updated: 08/Aug/23 Resolved: 08/Aug/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Mark Benvenuto | Assignee: | [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive) |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Server Development Platform
|
| Participants: |
| Description |
|
RHEL and Fedora systems use LZMA to compress debuginfo in binaries called MiniDebugInfo. Currently, our third-party copy of libunwind supports MiniDebugInfo but we do not enable support for MiniDebugInfo in libunwind. By enabling support, we will improve our stack traces on some platforms. We should enable this in 4.4.1. It will not be a breaking change since MongoDB binaries link in liblzma already in 4.4.0. This means that packages like RPMs require lzma to be installed on the system. Currently, we link to lzma but do not use any functions in it. The ld.gold libary Support can be enabled by defining HAVE_LZMA. We should also test for the <lzma.h> header in SConstruct. References: |
| Comments |
| Comment by Alex Neben [ 08/Aug/23 ] |
|
Closing these issues and closing the containing epic. Please reopen if these are still a problem. |
| Comment by Billy Donahue [ 25/Aug/20 ] |
|
Shifting to SDP team, as it's all about Scons and third_party issues. IIRC, this was a bit of a SCons punt when shipping libunwind project. There was also some small concern that LZMA decompression allocates, which might make libunwind's backtrace more async-risky than it is. There was also a more serious concern about whether we could ensure LZMA availability on production hosts. We could statically link it, or we might have to produce different builds for systems that HAVE_LZMA and those that don't. If we are already linking to it universally that's great. |