Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sentry Debug Files Upload Failure - iOS #2323

Open
1 of 8 tasks
Mordil opened this issue Dec 18, 2024 · 4 comments
Open
1 of 8 tasks

Sentry Debug Files Upload Failure - iOS #2323

Mordil opened this issue Dec 18, 2024 · 4 comments

Comments

@Mordil
Copy link

Mordil commented Dec 18, 2024

CLI Version

2.39.1

Operating System and Architecture

  • macOS (arm64)
  • macOS (x86_64)
  • Linux (i686)
  • Linux (x86_64)
  • Linux (armv7)
  • Linux (aarch64)
  • Windows (i686)
  • Windows (x86_64)

Operating System Version

macOS 14.7.1

Link to reproduction repository

No response

CLI Command

No response

Exact Reproduction Steps

We are using the Sentry Fastlane plugin to upload our debug files after creating our iOS target archives, using the sentry_debug_files_upload method.

We are currently managing one of our dependencies, Filestack, using Cocoapods.

Everything works fine with Cocoapods, with the use_frameworks! option.

After switching to manage the dependency to Swift Package Manager - we run into the issue with uploading debug files

Expected Results

I expect the Sentry CLI to successfully upload all debug symbols to Sentry, with no errors.

Actual Results

Sentry CLI fails to upload ANY debug symbols, and errors with error: Invalid checksum

Logs

[13:01:31]: Using sentry-cli 2.39.1
[13:01:31]: Starting sentry-cli...
[13:01:31]: DEBUG   2024-06-19 13:01:31.990639 -07:00 sentry-cli version: 2.39.1, platform: "darwin", architecture: "arm64"
[13:01:31]: INFO    2024-06-19 13:01:31.990695 -07:00 sentry-cli was invoked with the following command line: "/Users/administrator/actions-runner/_work/nomad/nomad/vendor/bundle/ruby/2.6.0/gems/fastlane-plugin-sentry-1.22.0/bin/sentry-cli-Darwin-universal" "debug-files" "upload" "." "--wait"
[13:01:31]: INFO    2024-06-19 13:01:31.990704 -07:00 Issuing a command for Organization: org Project: project
[13:01:31]: DEBUG   2024-06-19 13:01:31.991186 -07:00 request GET https://sentry.io/api/0/organizations/org/chunk-upload/
[13:01:31]: DEBUG   2024-06-19 13:01:31.991196 -07:00 using token authentication
[13:01:31]: DEBUG   2024-06-19 13:01:31.991202 -07:00 retry number 0, max retries: 0
[13:01:32]: DEBUG   2024-06-19 13:01:32.024560 -07:00 > GET /api/0/organizations/org/chunk-upload/ HTTP/1.1
[13:01:32]: DEBUG   2024-06-19 13:01:32.024569 -07:00 > Host: sentry.io
[13:01:32]: DEBUG   2024-06-19 13:01:32.024571 -07:00 > Accept: */*
[13:01:32]: DEBUG   2024-06-19 13:01:32.024573 -07:00 > Connection: TE
[13:01:32]: DEBUG   2024-06-19 13:01:32.024575 -07:00 > TE: gzip
[13:01:32]: DEBUG   2024-06-19 13:01:32.024577 -07:00 > User-Agent: sentry-cli/2.31.0
[13:01:32]: DEBUG   2024-06-19 13:01:32.025205 -07:00 > Authorization: ***
[13:01:32]: DEBUG   2024-06-19 13:01:32.144457 -07:00 < HTTP/1.1 200 OK
[13:01:32]: DEBUG   2024-06-19 13:01:32.144477 -07:00 < server: nginx
[13:01:32]: DEBUG   2024-06-19 13:01:32.144484 -07:00 < date: Wed, 19 Jun 2024 20:01:32 GMT
[13:01:32]: DEBUG   2024-06-19 13:01:32.144490 -07:00 < content-type: application/json
[13:01:32]: DEBUG   2024-06-19 13:01:32.144496 -07:00 < vary: Accept-Encoding,Accept-Language, Cookie
[13:01:32]: DEBUG   2024-06-19 13:01:32.144502 -07:00 < allow: GET, POST, HEAD, OPTIONS
[13:01:32]: DEBUG   2024-06-19 13:01:32.144507 -07:00 < access-control-allow-methods: GET, POST, HEAD, OPTIONS
[13:01:32]: DEBUG   2024-06-19 13:01:32.144518 -07:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken
[13:01:32]: DEBUG   2024-06-19 13:01:32.144525 -07:00 < access-control-expose-headers: X-Sentry-Error, X-Sentry-Direct-Hit, X-Hits, X-Max-Hits, Endpoint, Retry-After, Link
[13:01:32]: DEBUG   2024-06-19 13:01:32.144532 -07:00 < access-control-allow-origin: *
[13:01:32]: DEBUG   2024-06-19 13:01:32.144537 -07:00 < x-sentry-rate-limit-remaining: 39
[13:01:32]: DEBUG   2024-06-19 13:01:32.144543 -07:00 < x-sentry-rate-limit-limit: 40
[13:01:32]: DEBUG   2024-06-19 13:01:32.144548 -07:00 < x-sentry-rate-limit-reset: 1718827293
[13:01:32]: DEBUG   2024-06-19 13:01:32.144554 -07:00 < x-sentry-rate-limit-concurrentremaining: 24
[13:01:32]: DEBUG   2024-06-19 13:01:32.144559 -07:00 < x-sentry-rate-limit-concurrentlimit: 25
[13:01:32]: DEBUG   2024-06-19 13:01:32.144590 -07:00 < content-language: en
[13:01:32]: DEBUG   2024-06-19 13:01:32.144603 -07:00 < x-frame-options: deny
[13:01:32]: DEBUG   2024-06-19 13:01:32.144611 -07:00 < x-content-type-options: nosniff
[13:01:32]: DEBUG   2024-06-19 13:01:32.144617 -07:00 < x-xss-protection: 1; mode=block
[13:01:32]: DEBUG   2024-06-19 13:01:32.144629 -07:00 < content-security-policy: object-src 'none'; script-src 'self' 'unsafe-inline' 'report-sample' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; style-src * 'unsafe-inline'; media-src *; connect-src 'self' *.algolia.net *.algolianet.com *.algolia.io sentry.io *.sentry.io s1.sentry-cdn.com o1.ingest.sentry.io api2.amplitude.com app.pendo.io data.pendo.io reload.getsentry.net t687h3m0nh65.statuspage.io sentry.zendesk.com ekr.zdassets.com maps.googleapis.com; frame-ancestors 'self' *.sentry.io; frame-src app.pendo.io demo.arcade.software js.stripe.com sentry.io; font-src * data:; img-src * blob: data:; base-uri 'none'; default-src 'none'; worker-src blob:; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=2e164634e1fac6c165f5e4e72cfd80b0e8b5c154
[13:01:32]: DEBUG   2024-06-19 13:01:32.144637 -07:00 < x-envoy-attempt-count: 1
[13:01:32]: DEBUG   2024-06-19 13:01:32.144642 -07:00 < x-envoy-upstream-service-time: 62
[13:01:32]: DEBUG   2024-06-19 13:01:32.144647 -07:00 < x-served-by: getsentry-web-rpc-production-754d9987bd-5lfgx
[13:01:32]: DEBUG   2024-06-19 13:01:32.144653 -07:00 < x-sentry-proxy-url: http://10.2.0.67:8999/api/0/organizations/org/chunk-upload/
[13:01:32]: DEBUG   2024-06-19 13:01:32.144659 -07:00 < x-served-by: getsentry-control-web-default-common-production-765d8b6c99khlzh
[13:01:32]: DEBUG   2024-06-19 13:01:32.144664 -07:00 < x-served-by: frontend-default-65dd9bd965-m85hr
[13:01:32]: DEBUG   2024-06-19 13:01:32.144670 -07:00 < strict-transport-security: max-age=31536000; includeSubDomains; preload
[13:01:32]: DEBUG   2024-06-19 13:01:32.144677 -07:00 < via: 1.1 google
[13:01:32]: DEBUG   2024-06-19 13:01:32.144683 -07:00 < Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
[13:01:32]: DEBUG   2024-06-19 13:01:32.144689 -07:00 < Transfer-Encoding: chunked
[13:01:32]: DEBUG   2024-06-19 13:01:32.146320 -07:00 response status: 200
[13:01:32]: DEBUG   2024-06-19 13:01:32.146331 -07:00 body: {"url":"https://us.sentry.io/api/0/organizations/org/chunk-upload/","chunkSize":8388608,"chunksPerRequest":64,"maxFileSize":2147483648,"maxRequestSize":33554432,"concurrency":8,"hashAlgorithm":"sha1","compression":["gzip"],"accept":["debug_files","release_files","pdbs","sources","bcsymbolmaps","il2cpp","portablepdbs","artifact_bundles","artifact_bundles_v2"]}
[13:01:35]: error: Invalid checksum
[13:01:35]: DEBUG   2024-06-19 13:01:35.659584 -07:00 skipping update nagger because session is not attended
[13:01:35]: Sentry symbol upload failed.
@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Dec 18, 2024
@Mordil
Copy link
Author

Mordil commented Dec 18, 2024

This is a duplicate of #2092

@Mordil
Copy link
Author

Mordil commented Dec 18, 2024

One thing to note is that dSYMs are not generated for Swift Packages, so they are missing in newer archives compared to prior archives made with Cocoapods.

We've done completely clean builds, deleting derived data, archive directories, etc. and still get CLI failures when Filestack is managed by Swift Package Manager.

It happens consistently 100% of every build.

We've filed filestack/filestack-ios#80 with the library - but haven't heard anything back.

We're mostly looking for clarification as to what does this checksum validation do, and what triggers failures so we can better determine how to continue to diagnose the issue.

@szokeasaurusrex
Copy link
Member

@Mordil could you please provide a minimal reproduction I can check out locally and run to reproduce the error? I am on Mac, so I should be able to reproduce this easily given the code.

Please also provide exact steps for how to run the reproduction code.

@Mordil
Copy link
Author

Mordil commented Dec 20, 2024

Attached is a minimal reproduction project.

There's a README explaining the setup.

DebugFileUploadIssue.zip

@getsantry getsantry bot moved this from Waiting for: Community to Waiting for: Product Owner in GitHub Issues with 👀 3 Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Waiting for: Product Owner
Development

No branches or pull requests

2 participants