Cannot upload iOS dSYM file -- Error 413: Entity Too Large


#1

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):

» sentry-cli --auth-token <token> upload-dsym --org <org> --project <project>  <path_to_dsym>
Uploading symbols
Finding symbols in <path_to_dsym>...

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.


#2

Hi. Can you verify that you are on the latest release version? Also maybe you can run it with debug logging to see what’s going wrong.


#3

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.


#4

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.

To debug fastlane I’m not sure what it provides.


#5

Independently of this, can you double check that the org and project slug are correct? I wonder if a bad value there can trigger this behavior.


#6

Happens to me as well. Fastlane is up to date (version 2.4.0), using official plugin (https://github.com/getsentry/fastlane-plugin-sentry).

[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.

Thank you!


#7

Hi. Can you change the URL to sentry.io instead of app.getsentry.com? I wonder if the latter is not configured properly for oversized requests.


#8

Same thing happened:

[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

#9

Can you run this with --log-level=debug and mail me the uncensored output to armin@sentry.io?


#10

Sent you the email with the uncensored output.

When I point sentry-cli to dSYM folder it successfully uploads them but that’s because it’s uploading enclosed dSYMs one by one.

Fastlane plugin specifically says:

SENTRY_DSYM_PATH - "Path to your symbols file. For iOS and Mac provide path to app.dSYM.zip”


#11

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.


#12

I filed an issue against our fastlane plugin. You can monitor the progress on fixing the issue there: https://github.com/getsentry/fastlane-plugin-sentry/issues/6


#13

Thank you very much :slight_smile:


#14

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.)


#15

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?


#16

This has been fixed and will be in the next release.


#17

We were getting error against sentry.io but got it working by setting ‘url’ to ‘https://app.getsentry.com/


#18

@coolnalu is this still happening?