-
Notifications
You must be signed in to change notification settings - Fork 248
debuginfod is ignored if an agent uploads a stripped binary #5465
Copy link
Copy link
Open
Description
Here's systemd on Debian Trixie showing some unresolved symbols:
We can find the corresponding buildid:
$ find projects/parca/data | grep 42a2d21
projects/parca/data/debuginfo/42a2d21759b160fe6556b8c801294dcfd5fc6764
projects/parca/data/debuginfo/42a2d21759b160fe6556b8c801294dcfd5fc6764/metadata
projects/parca/data/debuginfo/42a2d21759b160fe6556b8c801294dcfd5fc6764/debuginfo
It is stripped, so it's not very useful:
$ file projects/parca/data/debuginfo/42a2d21759b160fe6556b8c801294dcfd5fc6764/debuginfo
projects/parca/data/debuginfo/42a2d21759b160fe6556b8c801294dcfd5fc6764/debuginfo: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=42a2d21759b160fe6556b8c801294dcfd5fc6764, stripped
Metadata points at the file being uploaded by an agent:
$ cat projects/parca/data/debuginfo/42a2d21759b160fe6556b8c801294dcfd5fc6764/metadata
{
"buildId": "42a2d21759b160fe6556b8c801294dcfd5fc6764",
"source": "SOURCE_UPLOAD",
"upload": {
"id": "52a1a4bd-3717-45a0-bd6c-8a19af7aeb2e",
"hash": "7ad293fe4e10d873162078e376ec14d3",
"state": "STATE_UPLOADED",
"startedAt": "2025-01-20T03:38:30.386740609Z",
"finishedAt": "2025-01-20T03:38:30.391896602Z"
},
"quality": {
"hasDynsym": true
}
}
We can consult debuginfod and it will happily fetch us the proper debug info:
$ DEBUGINFOD_URLS=https://debuginfod.elfutils.org/ debuginfod-find debuginfo 42a2d21759b160fe6556b8c801294dcfd5fc6764
/home/ivan/.cache/debuginfod_client/42a2d21759b160fe6556b8c801294dcfd5fc6764/debuginfo
That is not stripped:
$ file /home/ivan/.cache/debuginfod_client/42a2d21759b160fe6556b8c801294dcfd5fc6764/debuginfo
/home/ivan/.cache/debuginfod_client/42a2d21759b160fe6556b8c801294dcfd5fc6764/debuginfo: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=42a2d21759b160fe6556b8c801294dcfd5fc6764, with debug_info, not stripped
It would be good for Parca to check debuginfod servers if debuginfo is present, but incomplete, like in this case.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels