[SERVER-72190] LLDB fails to load symbols on toolchain v4 Created: 16/Dec/22  Updated: 27/Oct/23  Resolved: 27/Oct/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Anna Wawrzyniak 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
Operating System: ALL
Participants:

 Description   

After the [toolchain v4 change|http://example.com] LLDB is no longer able to load symbols when building with regular scons settings, like:

./buildscripts/scons.py --variables-files=etc/scons/mongodbtoolchain_stable_clang.vars --ninja generate-ninja ICECC=icecc CCACHE=ccache --dbg=off --opt=on --modules=""
 

This issue appears to be related to using higher DWARF than 32.

Current workaround is to explicitly pass "DWARF=32" flag to scons.

 

If direct fix is not feasible, we should consider the workaround more discoverable by engineers using LLDB, e.g.:

a) documenting it in offical mongo dev guide for LLDB setup
b) having a friendly flag to indicate that LLDB support is needed, like "LLDB_SUPPORT=on" or similar, that would be less likely to break and adapt to any workaround differences in the future toolchains.

 

We should also consider adding regression test for LLDB, that verifies sanity of the debugger.

 

For more details see discussion https://mongodb.slack.com/archives/CR8SNBY0N/p1671138402568879

 


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