Crashlytics upload of Flutter-generated symbols file works for Android but fails for iOS

See original GitHub issue

[REQUIRED] Environment info

firebase-tools: 11.16.1

Platform: maOS 12.6.1 (Monteray) on M1 MacBook Pro

[REQUIRED] Test case

The test case is uploading the symbols for iOS and Android. I created these with these two Flutter commands:

  • Android: flutter build appbundle --obfuscate --split-debug-info=./etc/debug-info/build
  • iOS: flutter build ipa --export-method=ad-hoc --obfuscate --split-debug-info=./etc/debug-info/build

[REQUIRED] Steps to reproduce

  1. Unzip sym-test.zip into a directory on your PC/Mac.
  2. Go into that directory in a terminal.
  3. Execute this command to upload the Android debug symbols. Please apply your own Firebase Android app ID: firebase crashlytics:symbols:upload --app [your Android app ID] ./android.
  4. The Android debug symbols upload succeeds.
  5. Execute this command to upload the iOS debug symbols. Please apply your own Firebase Android app ID: firebase crashlytics:symbols:upload --app [your iOS app ID] ./ios.

[REQUIRED] Expected behavior

The iOS debug symbols upload succeeds.

[REQUIRED] Actual behavior

The iOS debug symbols upload fails:

% firebase --debug crashlytics:symbols:upload --app [my iOS app ID] ./ios/
[2022-12-01T22:22:08.125Z] Buildtools Jar already downloaded at /Users/karsten/.cache/firebase/crashlytics/buildtools/crashlytics-buildtools-2.9.2.jar
i  Generating symbols for ./ios/
[CRASHLYTICS LOG DEBUG] Crashlytics Buildtools initialized.
[CRASHLYTICS LOG DEBUG] Skipping dumpsyms extraction, file exists: /Users/karsten/Desktop/sym-test/.crashlytics/dump_syms.bin
[CRASHLYTICS LOG DEBUG] Breakpad symbol generator initialized: /Users/karsten/Desktop/sym-test/.crashlytics/dump_syms.bin
[CRASHLYTICS LOG DEBUG] Generating native symbol files for /Users/karsten/Desktop/sym-test/./ios; writing output to: /var/folders/cz/llwnwdqn63x4m61trzt_k9980000gn/T/crashlytics-4ffc0077-5e9d-413b-82c9-5dcc4ad35a20/nativeSymbols/1-687174595027-ios-7d0d787db5cd141a013f26/breakpad
[CRASHLYTICS LOG DEBUG] 1 native libraries found at ./ios
[CRASHLYTICS LOG DEBUG] Crashlytics generating Breakpad Symbol file for: /Users/karsten/Desktop/sym-test/./ios/app.ios-arm64.symbols
[CRASHLYTICS LOG DEBUG] Extracting Breakpad symbols to temp file: /var/folders/cz/llwnwdqn63x4m61trzt_k9980000gn/T/crashlytics-4ffc0077-5e9d-413b-82c9-5dcc4ad35a20/nativeSymbols/1-687174595027-ios-7d0d787db5cd141a013f26/breakpad/app.ios-arm64.symbols8648314908030016259.tmp
[CRASHLYTICS LOG ERROR] Crashlytics execution failed.
java.io.IOException: Breakpad symbol generation failed (exit=1), see STDERR
	at com.google.firebase.crashlytics.buildtools.ndk.internal.breakpad.BreakpadSymbolGenerator.generateSymbols(BreakpadSymbolGenerator.java:133)
	at com.google.firebase.crashlytics.buildtools.Buildtools.generateNativeSymbolFiles(Buildtools.java:273)
	at com.google.firebase.crashlytics.buildtools.CommandLineHelper.executeGenerateSymbols(CommandLineHelper.java:185)
	at com.google.firebase.crashlytics.buildtools.CommandLineHelper.executeCommand(CommandLineHelper.java:118)
	at com.google.firebase.crashlytics.buildtools.CommandLineHelper.main(CommandLineHelper.java:65)
	at com.google.firebase.crashlytics.buildtools.Buildtools.main(Buildtools.java:111)

Error: java command failed with args: -jar,/Users/karsten/.cache/firebase/crashlytics/buildtools/crashlytics-buildtools-2.9.2.jar,-symbolGenerator,breakpad,-symbolFileCacheDir,/var/folders/cz/llwnwdqn63x4m61trzt_k9980000gn/T/crashlytics-4ffc0077-5e9d-413b-82c9-5dcc4ad35a20/nativeSymbols/1-687174595027-ios-7d0d787db5cd141a013f26/breakpad,-verbose,-generateNativeSymbols,-unstrippedLibrary,./ios/,-clientName,firebase-cli;crashlytics-buildtools
%

Issue Analytics

  • State:open
  • Created 10 months ago
  • Reactions:6
  • Comments:7 (1 by maintainers)

github_iconTop GitHub Comments

2reactions
christhompsongooglecommented, Dec 5, 2022

Assigning to Arthur to triage further.

1reaction
humanolaranjacommented, Dec 8, 2022

Facing the same issue here, works for Android, but not for iOS

Firebase Tools v11.17.0 Flutter v3.3.9

Read more comments on GitHub >

github_iconTop Results From Across the Web

Uploading android symbols files to crashlytics not working ...
The problem is firebase tool did not find java command. so here is how i resolved the problem: By updating environment variable in...
Read more >
Get readable crash reports in the Crashlytics dashboard
When an upload fails, Crashlytics displays a "Missing dSYM" alert in the ... Open your project in Xcode and select the project file...
Read more >
How to upload missing dSYM file to Firebase Crashlytics
Crashlytics will automatically upload the dSYM(debug symbols file) file using ... not be uploaded to the Crashlytics and you can see below error...
Read more >
Simplify the Process of Uploading iOS dSYM Files to ...
We've heard your feedback about the challenges you've experienced when uploading dSYMs to Crashlytics, especially for apps with bitcode enabled.
Read more >
Crashlytics not logging in iOS app - Microsoft Q&A
It works perfectly on my Android app but on iOS it does not log anything and I am not getting any error. In...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found