sentry-rust
sentry-rust copied to clipboard
0.30 client results in UI warning "A required debug information file was missing"
Environment
Linux, sentry-rust 0.30 w/ Cloud Sentry, Rust 1.68
Steps to Reproduce
Upgrading from sentry 0.27 to 0.30 results in a new warning appearing in the Sentry UI: "A required debug information file was missing".
This also produces an email alert stating "Failed to Process Events - Some events failed to process in your project".
With 0.27 we do see a note on each frame that it could not be symbolicated:

With 0.30 this note has slightly changed to show:

Otherwise the event appears as it normally does.
We've built this application with:
[profile.release]
# Enables line numbers in Sentry
debug = 1
which has always caused our stack frame information to be included in sentry as seen in both screenshots.
What has began causing this error? I've never needed to e.g. upload separate debug information files before to sentry, compiling w/ debug = 1 has always been good enough.
I do see the debug-images feature is now enabled by default as of 0.28, could this be related (I'm not entirely sure what it does)?
I've confirmed disabling debug-images makes this error go away. How should this work/the problem be avoided w/ the default feature set including debug-images?
Yes you are absolutely right, the debug-images integration is causing this problem.
If you are building and shipping with debug info included in your binary, you do not need the integration, and enabling it will either cause the problem you described, or worse, it can cause https://github.com/getsentry/sentry/issues/46435.
However, the thinking was that most projects are shipped with split / stripped debug info to production or to external users. In that case, you do need the debug-images integration, and you do need to upload that split debug info to Sentry, otherwise the stack traces will be useless.
This is not an obvious choice to make, as it depends on the specific build configuration, and I believe we can’t make features conditional on these build flags either. Not to mention that in both cases you are building with debug info, its just at shipping time when it is stripped.
Thanks @Swatinem. I can close this issue but maybe this should be left open to improve the documentation around the usage of debug information.