[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:
https://fedoraproject.org/wiki/Features/MiniDebugInfo
https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html



 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.

Generated at Thu Feb 08 05:21:45 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.