ANR Symbolication Patch
Up until Android 10, an ANR trace is lacking the information to symbolicate the native stack frames in the trace. More specifically, so called "GNU Build ID"s are absent from ANR traces for ART/Java processes.
Side note: Traces from Tombstones/crash dumps have been including the "GNU Build ID" as of Android 10.
To solve this, we have prepared a patch that modifies the ART code such that the ANR traces include the GNU Build IDs in exactly the same way as they already get included in Tombstones:
|Subdir||Repo||Version||Patch Commit SHA|
If you use an older version of Android and need help back-porting the patch, please contact us.
The easiest way to apply a patch is to
git cherry-pick it from Memfault's
# In the Android source directory, move into the "art" subdir:cd art# Add Memfault's clone as a remote:git remote add memfault https://github.com/memfault/aosp-platform-art.git# Fetch the code:git fetch memfault-aosp-platform-art# Apply the patch:git cherry-pick 1e8f1da# (Optional) Remove Memfault's clone again:git remote remove memfault-aosp-platform-art