firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.6k stars 1.47k forks source link

FR: Output an explicit error from upload-symbols executable when upload quota is exceeded #6990

Open abdulowork opened 3 years ago

abdulowork commented 3 years ago

Feature proposal

We recently started receiving cryptic errors from the upload-symbols executable:

error: Failed uploading cSYMs due to error: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM, NSUnderlyingError=0x7fbf19f2c3e0 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://firebasecrashlyticssymbols.googleapis.com/v1/project/-/app/our_app_id/upload/native/some_uuid}}}",
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture armv7 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture armv7 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM, NSUnderlyingError=0x7fbed9d04400 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://firebasecrashlyticssymbols.googleapis.com/v1/project/-/app/our_app_id/upload/native/some_uuid}}}"
)}
error: Could not complete submission of dSYM at /path/to/bundle.framework.dSYM: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM, NSUnderlyingError=0x7fbf19f2c3e0 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://firebasecrashlyticssymbols.googleapis.com/v1/project/-/app/our_app_id/upload/native/some_uuid}}}",
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture armv7 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture armv7 with uuid some_uuid in dSYM: /path/to/bundle.framework.dSYM, NSUnderlyingError=0x7fbed9d04400 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://firebasecrashlyticssymbols.googleapis.com/v1/project/-/app/our_app_id/upload/native/some_uuid}}}"
)}

By looking at the requests with a HTTP debugging tool we found that the actual error looked like this:

{"error":{"code":8,"message":"Upload quota exceeded."}}

It would be beneficial to output the exceeded quota error from the upload-symbols directly as the original error is somewhat vague.

jostster commented 3 years ago

Is there a quota for uploading DSYMs? We just started receiving this error as well.

abdulowork commented 3 years ago

It seems that there is. We stopped uploading dSYMs on some of our builds and the error stopped appearing.

jostster commented 3 years ago

I wonder if it is a per minute / per hour limit. Maybe since we use a CI that can have multiple builds running at the same time it causes a limit to be reached that is reset after a few hours?

artyom-razinov commented 3 years ago

It seems that there is. We stopped uploading dSYMs on some of our builds and the error stopped appearing.

Correction: the error stopped appearing as often

Lucky1st commented 3 years ago

I have the same issue when running shell script with following configuration - /path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs Here is the error that I received: error: Could not complete submission of dSYM at /Users/sklyarenko/Library/Developer/Xcode/Archives/2020-12-01/<APP_NAME> 2020-12-01 18.25.40.xcarchive/dSYMs/GSMessages.framework.dSYM: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=( "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture armv7 with uuid SOME_UUID in dSYM: /Users/sklyarenko/Library/Developer/Xcode/Archives/2020-12-01/<APP_NAME> 2020-12-01 18.25.40.xcarchive/dSYMs/GSMessages.framework.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture armv7 with uuid SOME_UUID in dSYM: /Users/sklyarenko/Library/Developer/Xcode/Archives/2020-12-01/<APP_NAME> 2020-12-01 18.25.40.xcarchive/dSYMs/GSMessages.framework.dSYM, NSUnderlyingError=0x7fb2ac414e20 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings}}}", "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid SOME_UUID in dSYM: /Users/sklyarenko/Library/Developer/Xcode/Archives/2020-12-01/<APP_NAME> 2020-12-01 18.25.40.xcarchive/dSYMs/GSMessages.framework.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid SOME_UUID in dSYM: /Users/sklyarenko/Library/Developer/Xcode/Archives/2020-12-01/<APP_NAME> 2020-12-01 18.25.40.xcarchive/dSYMs/GSMessages.framework.dSYM, NSUnderlyingError=0x7fb2ac71e580 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings}}}" )}

JungHwanLim commented 3 years ago

I have the same issue too. Do you have any plan to related to this issue? Thank you ..

Jenkins@macmini2 UploadSymbol % /Users/Jenkins/.jenkins/workspace/g17_TrahaJP0121_IOS_Pkg/Client/RNClient/Intermediate/ProjectFilesIOS/Pods/FirebaseCrashlytics/upload-symbols -gsp GoogleService-Info.plist -p ios RapaNui-IOS-Shipping.dSYM
Fetching upload-symbols settings...

error: Failed uploading cSYMs due to error: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid 40a54c5f8d2d36bbac2cfff00536996a in dSYM: /Users/Jenkins/Downloads/UploadSymbol/RapaNui-IOS-Shipping.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid 40a54c5f8d2d36bbac2cfff00536996a in dSYM: /Users/Jenkins/Downloads/UploadSymbol/RapaNui-IOS-Shipping.dSYM, NSUnderlyingError=0x7fa1cb604960 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings}}}" 
)}
error: Could not complete submission of dSYM at RapaNui-IOS-Shipping.dSYM: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid 40a54c5f8d2d36bbac2cfff00536996a in dSYM: /Users/Jenkins/Downloads/UploadSymbol/RapaNui-IOS-Shipping.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid 40a54c5f8d2d36bbac2cfff00536996a in dSYM: /Users/Jenkins/Downloads/UploadSymbol/RapaNui-IOS-Shipping.dSYM, NSUnderlyingError=0x7fa1cb604960 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings}}}" 
)}
rodmytro commented 3 years ago

I'm receiving exactly the same issue. Any news on this?

error: Failed uploading cSYMs due to error: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid 8ece2dd9a4f83bf9b818c0c14d9e5467 in dSYM:
adamteale commented 3 years ago

I am also experiencing the same issue

adamteale commented 3 years ago

The command: /Users/myuser/code/myApp--app-ios/myApp/Pods/FirebaseCrashlytics/upload-symbols -d -gsp /Users/myuser/code/myApp--app-ios/myApp/myApp/Firebase/production/GoogleService-Info.plist -p ios /Users/myuser/Downloads/appDsyms.zip

what is returned:

upload-symbols 3.3 build 22

Arguments:
Debug mode enabled
Google App ID: 1:############:ios:#####################
Platform: ios
DSYM Paths: ["/Users/myuser/Downloads/appDsyms.zip"]

Fetching upload-symbols settings...
Inspecting next path: /Users/myuser/Downloads/appDsyms.zip
Found archive at path: /Users/myuser/Downloads/appDsyms.zip
Inspecting next path: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM
Found dSYM at path: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM
Begin processing dSYM at /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM
Zipping csym for uuid 2a11c25554543c649646310cc06f8f0f, architecture: arm64
Zipping csym succeeded for uuid 2a11c25554543c649646310cc06f8f0f, architecture arm64... getting compressed data
Deleting file at path: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T/Users/myuser/Downloads/appDsyms.zip.unzipped/arm64-2a11c25554543c649646310cc06f8f0f.csym
Deleted file at path /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T/Users/myuser/Downloads/appDsyms.zip.unzipped/arm64-2a11c25554543c649646310cc06f8f0f.csym
Deleting file at path: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T/36549E1E-B061-46A3-9293-30A49671D32D-22827-0000215CA5A3CB38.zip
Deleted file at path /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T/36549E1E-B061-46A3-9293-30A49671D32D-22827-0000215CA5A3CB38.zip
Uploading cSYM to https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings
Uploading cSYM for uuid 2a11c25554543c649646310cc06f8f0f, architecture arm64
Retrying symbol upload with number of retries: 1/10
Retrying symbol upload with number of retries: 2/10
Retrying symbol upload with number of retries: 3/10
Retrying symbol upload with number of retries: 4/10
Retrying symbol upload with number of retries: 5/10
Retrying symbol upload with number of retries: 6/10
Retrying symbol upload with number of retries: 7/10
Retrying symbol upload with number of retries: 8/10
Retrying symbol upload with number of retries: 9/10
Retrying symbol upload with number of retries: 10/10

the error:

error: Failed uploading cSYMs due to error: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid 2a11c25554543c649646310cc06f8f0f in dSYM: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid 2a11c25554543c649646310cc06f8f0f in dSYM: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM, NSUnderlyingError=0x7f97e2f0a7a0 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings}}}"
)}
error: Could not complete submission of dSYM at /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM: Error Domain=com.google.firebase.crashlytics.FIRCLSCompoundOperation.error Code=4294967293 "(null)" UserInfo={com.google.firebase.crashlytics.FIRCLSCompoundOperation.error.user-info-key.underlying-errors=(
    "Error Domain=com.crashlytics.mac.error-domain.submit-csym Code=0 \"Failed to submit cSYM for architecture arm64 with uuid 2a11c25554543c649646310cc06f8f0f in dSYM: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM\" UserInfo={NSLocalizedFailureReason=Failed to submit cSYM for architecture arm64 with uuid 2a11c25554543c649646310cc06f8f0f in dSYM: /var/folders/yc/gry9dhfn32x96_g9bv10v8mh0000gn/T///Users/myuser/Downloads/appDsyms.zip.unzipped/2a11c255-5454-3c64-9646-310cc06f8f0f.dSYM, NSUnderlyingError=0x7f97e2f0a7a0 {Error Domain=FIRCLSNetworkError Code=-6 \"(null)\" UserInfo={retryLimit=10, NSErrorFailingURLStringKey=https://cm.crashlytics.com/api/v3/platforms/ios/code_mappings}}}"
)}
patrickhammond commented 3 years ago

This started for our team at some point yesterday. No changes in dependencies or build process. Our pod lock file has us at Firebase/Crashlytics (6.26.0) and FirebaseCrashlytics (~> 4.1.1).

elenadoty commented 3 years ago

Hi all, I don't believe this most recent issue is quota-related. We have a fix that should be rolled out by the end of the day.

patrickhammond commented 3 years ago

Fwiw, our previous pod lock file resolved to FirebaseCrashlytics 4.1.1. I updated some of our app dependencies which let it resolve to 4.6.1 and then our builds started working again. Unsure if that is related or not, but sharing in case it helps someone else.

adamteale commented 3 years ago

As a temporary workaround I was able to get the dsyms to upload by also running a pod update beforehand. Our previous podfile.lock resolved FirebaseCrashlytics to 4.2.0, now it is 4.6.1.