-
Notifications
You must be signed in to change notification settings - Fork 1.6k
AppStore Distribution / Release app does not send crashes due to Exported Symbols File missing __mh_execute_header #5020
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
Comments
Crashlytics, I'm also experiencing same problem. This is sending me the crash report in debug mode, but when I use signing the build and push to TestFlight it is not sending me the report. |
Same here 👎 |
We also have the same problem |
Also, seeing the same issue with an app not using |
I have tried with both pods and with static framework linking using |
For others with the same issue, are you seeing the same log from Crashlytics and InstanceID? Eg:
Crashlytics gets the app's bundle identifier using |
If this is happening with both Firebase 6.15.0 and 6.18.0, it seems unlikely a code change caused this to happen, since many apps have successfully released to the App Store in that timeframe with Crashlytics. I'm trying to figure out what could have changed with Apple's signing that would cause this. It seems like files in general can't be opened from Crashlytics and InstanceID.
|
@samedson we are using |
Haven't found any additional errors.
We are reading other files like translations of third party SDK's, so access is working fine. Also getting |
Want to ask a few more questions. I still haven't determined the root cause of the issue - wondering if maybe something changed with the timing of calling
|
Yes
A new app under development but on TestFlight.
Not using CocoaPods. |
FirebaseApp.configure() in App Delegate
We've just tried to migrate from Fabric SDK to Firebase SDK. There were no issues with Fabric SDK, so we've migrated back. Today I've received an email from Google that Fabric services will be held up and running until early May.
|
Seems like that issue is connected to this one (also problems with bundle context): |
Apologies, but I'm unable to reproduce the issue. Could you provide a project that reproduces the issue (if I build it for App Store distribution)? |
From #5092, can you try setting |
I'm getting exactly the same error:
|
How can I debug this and help you find the cause? |
Seeing the same issue with Firebase/Crashlytics 6.22.0. In fact, we’re seeing this with enterprise builds too. This seems to happen with any build with a Release configuration. |
Some ways folks can help cc @Hans92:
Questions still remaining:
Notes thus far:
Digging into the code, here's where this check is:
|
One solution to |
@samedson We were able to reproduce this in the simulator with a release configuration. |
A bit more detail, the dlsym call here is returning NULL
|
Great find @pmfon - now to figure out why this will fail in App Store signed apps. Going to do some research |
Here’s what we found so far
|
Huh I still can't get it to happen on my end - I'm running in "Release" configuration in my Scheme, and have stripping on, but it doesn't reproduce the issue. Hoping to narrow it down to a few settings. Would you be able to export the build settings that reproduce this (removing any PII - I see bundle IDs and paths in there)?
|
What about the configuration name? I don't use default |
Right now the main thing that will help me debug this is an xcode project that reproduces the issue. I don't feel confident in shipping a fix without being able to reproduce the issue because that I did try out duplicating the Release configuration with a new name, but did not reproduce the issue. |
@samedson |
That seems to be the problem @pmfon. Reproduced it locally! Can you try adding Going to work on logging help customers address this issue. |
Gonna close this for now - but feel free to reopen if the following fix doesn't work for you. I've added logging in the SDK to give a clearer error message when this happens. FixFor those running into this issue, the fix is:
|
@samedson what if I don't have anything in |
@Hans92 from what I understand that means your build process is not exporting a symbols file. You should set a filepath in the field in Xcode, and Xcode will generate an exported symbols file there when you build your app. |
A newly created project with Xcode 11.3.1 has nothing in |
This doesn't make any sense. I have several projects that uses Firebase. Only two are affected by this problem, but none of the projects use an Exported Symbols File. I've created a new project that's effectively an empty app with Firebase SDK integrated, with no Exported Symbols File set and it's reporting crashes just fine. |
Let me clarify:
|
The project related to this issue has nothing in the |
Unfortunately, the issue still exists. The same as @Hans92 I don’t use exported symbols file. |
@kondratk and @Hans92 are you seeing
in your app's logs? We're currently experiencing a delay in crash processing which may be causing crashes to not appear in console that's unrelated to this issue. Googlers see outage number 19770 |
@kondratk @Hans92 the issue could be caused by another build setting or flag which strips that symbol from the binary, such as 'fvisibility' or 'Symbols hidden by default' (or even a run-script phase from another framework). Note that I've never found the 'embedded.mobileprovision' error in my logs. |
|
[REQUIRED] Step 1: Describe your environment
CocoaPods
(select one)[REQUIRED] Step 2: Describe the problem
We've identified, that after signing the app with AppStore certificate, Firebase Crashlytics stops working. The problem does not occur while signing the app with AdHoc certificate. We are using Apple Distribution Certificate.
The errors we've found in the console:
<Forced crash, re-ran the app>
[Firebase/Crashlytics] Version 4.0.0-beta.4
..
[Firebase/Crashlytics][I-CLS000000] An application must have a valid bundle identifier in its Info.plist
[Firebase/Crashlytics][I-CLS000000] Crash reporting could not be initialized
[Firebase/InstanceID][I-IID003014] Error while reading embedded mobileprovision Error Domain=NSCocoaErrorDomain Code=260 "The file “embedded.mobileprovision” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/private/var/containers/Bundle/Application/71738F66-30A3-4D4E-A60E-85F7FB3614AC/X.app/embedded.mobileprovision, NSUnderlyingError=0x282bc5b00 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
I've unzipped the ipa file and:
The app would not even run without files above, so these errors seems like incorrect ones.
Steps to reproduce:
The text was updated successfully, but these errors were encountered: