Memory Insights Linux Symbols

We are experiencing a memory leak in our game servers running on Linux.

We’ve collected memory traces using Insights with the `-trace=memory` flag and sent them to our trace server.

While we believe we’ve isolated the memory leak, we’re unable to retrieve the allocation callstack because debug symbols are not resolving. According to the documentation, Linux symbol support appears limited, which is a significant issue for us as our servers exclusively run on Linux (and likely for others in the community).

We’re seeking guidance on how to properly load symbols for Linux to analyze the memory leak. Here’s what we’ve encountered so far:

  1. Attempting to load the ELF file results in a “Failed to load debug symbols” error.
  2. Loading a .debug file causes a fatal crash with the following error in `syms_dwarf_parser.c`: The thread tried to divide an integer value by an integer divisor of zero.

From our investigation, it seems that only PDB files are supported, as the issue traces back to the `syms_dbg_accel_from_file(..)` function.

Could you provide any insights, workarounds, or recommendations for resolving symbol loading on Linux? Any help or suggestions would be greatly appreciated!

Thank you!

Hey Hunter,

we did two recent upgrades of the SymsLib library we use to parse the debugging symbol files to address very similar crashes.

This is related to compressed sections in the debug file, which weren’t properly supported by the older library versions.

If you’re on a source build, could you try integrating those changes and check if that fixes the crashes for you?

Currently both changes are scheduled to release with 5.7

The changelists are CL44639422 (461a0ee9 on Github) and CL44803814 ( 3d49821c on Github).

Best,

Sebastian

Worked, thank you!