I’m trying to use the official sentry fastlane plugin to upload my app’s zipped dSYM file every time we deploy an Ad Hoc or App Store build. I was able to upload the dSYMs successfully only once. On all subsequent builds I am getting a 413: Entity Too Large error. The dSYM file is only 28 MB which does not seem too large to upload – I have encountered much larger zipped dSYM files in the past. Is this a bug in the plugin or API, or just user error?
As a fallback, I attempted to use sentry-cli to upload the same dSYM file but it returns immediately after this output (sensetive information is redacted here):
I’m back on a new console prompt as soon as this info is printed. No upload takes place. Is this tool broken as well?
I was looking forward to switching to Sentry so that my company’s iOS app would be on the same error reporting platform as the rest of our apps but my experience so far is indicating that Sentry’s iOS support is just too flaky. Please let me know if I’m doing something wrong.
I just installed everything today so I am quite confident I’m on the latest release version of both the fastlane plugin and the CLI.
How do I enable debug logging, and which tool are you referring to trying to debug (fastlane plugin or CLI)? I was looking for a “verbose” option in the CLI but I couldn’t find it.
The sentry-cli tool is best kicked off from a xcode build step then it will find the symbols itself. If it only prints what it prints it did not find any symbols in the path provided.
The debug flag is enabled on sentry-cli with sentry-cli --log-level=debug --auth-token ... upload-dsym etc.
[03:13:41]: Will upload dSYM(s) to https://app.getsentry.com/api/0/projects/xxx/xxx/files/dsyms/
[03:13:41]: Uploading... /xxx.dSYM.zip
[03:14:46]: Error: 413 Request Entity Too Large
Organization and project slugs are ok, as well as auth token, because when we repeat the upload with the same dsym file sometimes it works. Uploaded dsym size is 25MB.
There’s nothing to wonder at, error “413 Request Entity Too Large” is triggered by nginx when uploaded file size is greater than nginx’s “client_max_body_size” setting. It seems that some of your nginx instances is improperly configured.
Looks like this error has happened before:
We are paying for this service, it’s really great, but we have 4 projects depending on this functionality and currently it breaks our continuous deployment process.
[13:49:01]: Will upload dSYM(s) to http://sentry.io/projects/xxx/xxx/files/dsyms/
[13:49:01]: Uploading... /xxx.dSYM.zip
[13:49:11]: Error: 413 Request Entity Too Large
For what it’s worth it’s not uploading them one by one, it uploads them as batches of 10. The total batch size must not exceed a certain size. Might be that the fastlane plugin is not doing this correctly. I will have a look that we get this fixed.
Thank you for the info and for opening the issue on the fastlane plugin.
I have had better success using the CLI in an Xcode run script phase but I’m now encountering a separate issue. I am using Cocoapods for dependencies, which are built using dyanmic frameworks in a separate project within the workspace (standard Cocoapods workflow).
When I originally had the one successful upload of dSYMs using the fastlane plugin, it uploaded all of the dSYMs for the Cocoapod dependencies as well. However, the CLI script step only seems to upload dSYMs for my main app target and my own internal frameworks. I tested this by adding a random Cocoapod dependency and checking the debug symbols in the project settings page. The new dependency’s symbols were not shown.
Any help would be appreciated. Thanks!
(In retrospect I think it may have been the “unofficial” fastlane action, not the official plugin, that succeeded. Go figure.)
In looking at the debug output from the CLI, it appears that it’s only finding dSYM files in the top level of the DWARF_DSYM_FOLDER_PATH directory and not recursing into the subdirectories which contain the dSYMs for the Cocoapod dependencies. Is there a way to make it look in subdirectories?