getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
38.66k stars 4.14k forks source link

Upload libc.so.6 and ld-linux-x86-64.so.2 in PostBuild symbol uploads when cross compiling #73950

Open narthur157 opened 2 months ago

narthur157 commented 2 months ago

Problem Statement

image You get this error when emitting events from a linux server It's a bit unclear how best to go about uploading these debug files, particularly when cross compiling

Solution Brainstorm

I tried uploading all the debug symbols available from the linux toolchain, however this didn't solve my issue as neither of the libc.so.6 files uploaded matched the debug id

Product Area

Unknown

getsantry[bot] commented 2 months ago

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] commented 2 months ago

Routing to @getsentry/product-owners-issues-source-maps for triage ⏲️

lforst commented 2 months ago

@Swatinem @loewenheim mind taking a look at this?

loewenheim commented 2 months ago

Hm, are those files we would expect the user to upload? Or should they be on a public symbol server @Swatinem ?

Swatinem commented 2 months ago

The only Linux distribution which we have a builtin symbol server for is Ubuntu at the moment. And we have already seen that Ubuntu happily removes outdated debug files from their server.

So even in that case, its quite possible that no debug symbols can be found.

I would recommend to either figure out if the distribution offers a stable symbol server and configure that, or to just upload those debug files manually. As more and more distributions have decided to move towards enabling frame pointers by default by now, it might not even be necessary to have unwind info in those cases, and the stack trace is "correct" even though it might not be particularly readable.

See https://github.com/getsentry/sentry/blob/56f790693e03db86c1074c419e48bd50470c6f3f/src/sentry/conf/server.py#L2763-L2786 for some other example symbol servers.