Closed iwclibro closed 4 months ago
Hi @iwclibro, thank you for your report.
We will need some more information to be able to help you. Would you be able to share a link to an event where you see the "required debug information file was missing" error message? Perhaps a link to the page where you observed the screenshot you shared above?
This is a test event I posted to verify some refactoring I'm doing, hence the generic message and tags.
On Thu, Feb 1, 2024 at 5:15 AM Daniel Szoke @.***> wrote:
Hi @iwclibro https://github.com/iwclibro, thank you for your report.
We will need some more information to be able to help you. Would you be able to share a link to an event where you see the "required debug information file was missing" error message? Perhaps a link to the page where you observed the screenshot you shared above?
— Reply to this email directly, view it on GitHub https://github.com/getsentry/sentry-cli/issues/1923#issuecomment-1920975415, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6W4PW6BWRG6642UTHCWCOTYRNTMPAVCNFSM6AAAAABCTZLLN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRQHE3TKNBRGU . You are receiving this because you were mentioned.Message ID: @.***>
Actually, this event is better, the previous might actually not have dSYMs associated. https://librofm.sentry.io/issues/4930081522/?project=62429&query=release%3Afm.libro.Libro-fmAdHoc%406.7.0%2B2&referrer=release-issue-stream
On Thu, Feb 1, 2024 at 10:59 AM Irwin Coleman @.***> wrote:
This is a test event I posted to verify some refactoring I'm doing, hence the generic message and tags.
On Thu, Feb 1, 2024 at 5:15 AM Daniel Szoke @.***> wrote:
Hi @iwclibro https://github.com/iwclibro, thank you for your report.
We will need some more information to be able to help you. Would you be able to share a link to an event where you see the "required debug information file was missing" error message? Perhaps a link to the page where you observed the screenshot you shared above?
— Reply to this email directly, view it on GitHub https://github.com/getsentry/sentry-cli/issues/1923#issuecomment-1920975415, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6W4PW6BWRG6642UTHCWCOTYRNTMPAVCNFSM6AAAAABCTZLLN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRQHE3TKNBRGU . You are receiving this because you were mentioned.Message ID: @.***>
This setup has been working for several months without issue until I updated the sentry-cocoa dependency and sentry-cli.
@iwclibro, what was the last version of sentry-cli or sentry-fastlane-plugin when your setup worked? Does it still work with that version?
Previously we were using sentry-cocoa 7.9.0. I will have to check how the app behaves with the older sdk version.
Ok, I have a side by side comparison now. Here are two events. They are posted from the same location at app startup. One is using sentry 7.9, and the other is using 8.18 (the version is in the event message).
This is early at startup, so the stack isn't great, but you can see the stack frames leading up to the call are populated on the 7.9 version, but not on 8.18.
Also note that the 8.18 report complains about missing symbols, but the 7.9 version does not. All I did was change the dependency version for sentry-cocoa and the event message between the two cases.
Also, the issue remains for version 8.20:
@iwclibro, it appears that your debug information files are also missing from the version 7.9 example issue you linked. These icons in the stack trace indicate that the debug information files are missing:
If you hover over the icon, you will see the following message:
This frame has missing debug files and could not be symbolicated
I am unsure why the red banner with the "A required debug information file was missing (2)" message only appears in the version 8.x examples, but it seems that whatever the problem, it was also present when you were using 7.9.
Could you perhaps provide a log from an initial upload of the debug files?
Since sentry-cocoa 8.9.0 we only symbolicate locally when debug
is enabled. So it could be that you, @iwclibro, got proper stacktraces in v 7.x, because our SDK symbolicated locally back then. We disabled this because of performance reasons; see https://github.com/getsentry/sentry-cocoa/issues/3043.
So I guess I am confused then. When I send an event to sentry from my production app, I should no longer expect the call stack portion to ever show symbolicated frames? Why does that part of the UI even exist?
I have released 3 different builds to TestFlight with my updated Sentry dependency. As part of the release script, the dSYMs are uploaded to sentry. NONE of these events have shown up with symbolicated frames. Are you saying that I shouldn't expect for those frames to EVER be symbolicated?
I went and found an event with no stack frame from one of our releases. The issue presents the banner saying a "A required debug information file was missing" at the top.
So I go into the Xcode organizer to the archive of the corresponding build. I went into the archive to the dSYM folder and ran this:
sentry-cli --auth-token <our token> upload-dif --org "librofm" --project "ios-app" -- "."
The output from the command shows me:
> Found 5 debug information files
> Prepared debug information files for upload
> Nothing to upload, all files are on the server
Normally this step is run automatically from a fastlane step using the sentry-plugin inside the build folder. The fastlane script specifies lane_context[SharedValues::DSYM_OUTPUT_PATH]
for the path to read from.
Shouldn't I have all the symbols in place? Is there some other step that is missing? Until I moved to 8.18, none of the events complained about missing debug information files.
I saw some other issues where people suggested that files weren't actually getting uploaded unless they passed the force_foreground
flag, so I added that with no improvement.
$ sentry-cli -V
sentry-cli 2.27.0
Are you saying that I shouldn't expect for those frames to EVER be symbolicated?
No, if the dSYMs are there, they should 😃 . I'm sorry that you have to go through so much trouble. I'm trying to figure out what's going on here 🤔.
So I go into the Xcode organizer to the archive of the corresponding build. I went into the archive to the dSYM folder and ran this:
sentry-cli --auth-token
upload-dif --org "librofm" --project "ios-app" -- "."
You don't need to navigate to the dSYMs folder. You can stay outside the archive and then pass the archive as the path. sentry-cli can search archives.
The output below states it found files, but all of them are on the server already.
Found 5 debug information files Prepared debug information files for upload Nothing to upload, all files are on the server
Maybe your Xcarchive doesn't contain all required dSYMs. As you mentioned that you use Fastlane, try setting include_symbols: true,
for your build_app
, and check if your dSYMs folder contains more dSYMs.
This event states that it is missing specific debug symbols. You can copy the Debug ID
and use sentry-cli debug-files find <identifier>
(docs) to check if your Xcarchive contains it. If yes, and the sentry-cli doesn't upload it, we know there's a bug in sentry-cli.
Ok, I rebuilt the latest versions with include_symbols
set and uploaded symbols. I didn't archive these builds specifically. I ran the upload where my ipa's were dropped alongside *.dSYM.zip files. It did find some additional dSYM files to upload.
Additionally, I did verify that the sentry-cli debug-files find
determined that id to be missing.
Now that those additional files were uploaded, I will need to wait and see if upcoming events have better stack trace information.
Thank you for following up on this.
Sounds good @iwclibro! Please let us know if you continue to see missing debug files after making this change.
I am seeing solid stack traces for my events now. I consider this issue resolved. Thank you for your help!
Great! In that case, I am closing this issue. Please reopen if the issue resurfaces!
Environment
What version of the CLI and what OS are you running? sentry-cli 2.27.0 The app is using sentry-cocoa 8.18 MacOS Sonoma 14.1.2
Steps to Reproduce
fastlane-sentry-plugin
What you did?
Our build process uses
fastlane-plugin-sentry
to upload dSYMs for our iOS application build.Upload dSYMs with
fastlane-sentry-plugin
:Expected Result
I expect to see symbolicated reports. This setup has been working for several months without issue until I updated the sentry-cocoa dependency and sentry-cli.
Actual Result
Logs
I don't currently have a log from the initial upload, but here is a log from attempting to upload files and getting "Nothing to upload":