-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Crash and rejection from the App Store: scene-create watchdog transgression #1399
Comments
This is crashing in a Security framework call. Can you share your project? |
Hello @morganchen12,
Yes. The Security framework is invoked from
It belongs to a client: I can't upload it. If you have any question I can answer without uploading the whole project, I'll be happy to help solving this Firebase crash. |
@groue - Are you able to share the Podfile and Podfile.lock? |
Hello @paulb777. Sure: Podfileabstract_target 'XXXBase' do
target 'XXX'
target 'XXXDev'
target 'XXXDevTests'
platform :ios, '10.0'
use_frameworks!
pod 'Crashlytics' # Crash reports
pod 'FBSDKCoreKit' # Facebook Analytics
pod 'Firebase/Core' # Google Analytics
pod 'Firebase/Auth' # Firebase Authentication
pod 'GRDB.swift' # SQLite
pod 'Alamofire' # HTTP
pod 'OpenTok' # Video calls
pod 'SwiftSignatureView' # Finger Signing View
pod 'KeychainAccess' # Keychain
pod 'Permission/Bluetooth', :git => 'https://github.com/pierlis/Permission.git', :branch => 'master' # iOS Permission UI
pod 'Permission/Notifications', :git => 'https://github.com/pierlis/Permission.git', :branch => 'master' # iOS Permission UI
pod 'Permission/Location', :git => 'https://github.com/pierlis/Permission.git', :branch => 'master' # iOS Permission UI
pod 'Permission/Motion', :git => 'https://github.com/pierlis/Permission.git', :branch => 'master' # iOS Permission UI
pod 'RxCocoa' # UIKit reactive extensions
pod 'RxSwiftExt' # RxSwift extensions
pod 'RxGRDB' # GRDB reactive extensions
end
abstract_target 'XXXWatchBase' do
target 'XXXWatch Extension'
target 'XXXWatchDev Extension'
platform :watchos, '4.0'
use_frameworks!
pod 'RxCocoa' # UIKit reactive extensions
end
# Some pods are not ready for Swift 4
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['Permission', 'SwiftSignatureView'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
end Podfile.lock
|
Hello, folks. Today the App Store review did pass. What has changed since last version:
Maybe this did actively solve the crash. Maybe something else did. I don't know. I'm closing this issue. Feel free to reopen it or open a new one if this crash happens to you too. |
I am facing the exact same issue. I have removed everything from
Attached is my Podfile.lock file |
@r-a-o your issue is a different issue. Your app is being killed by the launch watchdog timer for taking too long to finish launching, and is likely not Firebase related. |
My didFinishLaunchWithOptions has call to only firebase configure method
and nothing else.
And when I comment out firebase configure call, the app works fine.
…On Fri 28 Sep, 2018, 10:48 Morgan Chen, ***@***.***> wrote:
@r-a-o <https://github.com/r-a-o> your issue is a completely different
issue. Your app is being killed by the launch watchdog timer for taking too
long to finish launching, and is likely not Firebase related.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1399 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACEhhJHVbdf0wa3NusxFa426B4k3VFEqks5ufbE0gaJpZM4Uk4Vr>
.
|
Please upload an instruments performance trace to see what method calls are occupying the most CPU time. |
@morganchen12, the issue experienced by @r-a-o exactly matches the issue title. Watchdog transgressions created by Firebase are the point of this issue. |
Here is the complete log. @morganchen12 |
It looks like a timeout in a |
I have figured out a reliable way to reproduce WatchDog crashes if it exists, every single time. Here are the steps:
[No clue why this exact flow triggers the watchdog crash, but when I remove firebase configure call from @morganchen12 Let me know if you need help reproducing this issue. I have reproduced it on iOS 11.4 & iOS 12.0 as well, and it has been reproduced on multiple stable WiFi connections (bandwidth >50 Mbps) |
@paulb777 My app has this issue irrespective of keychain capability. |
Thanks all for the repro steps and apologies for my dismissive tone earlier. We'll take a look. |
We've also hit the same issue and also had our build rejected. The next step for me is to try reproducing it using @r-a-o's steps above, and if I can do that to update to the latest version of Firebase and see if it's still an issue there Firebase SDK Version: 5.6.0 Crash log: symbolicated.crash.txt |
We are actively working on a fix and please let us know whether you can reproduce it as well. Thanks! |
Hi , We have same issue and build rejected. Any updated on this? |
We are using Firebase 5.9.0 and have successfully submitted and released a build to the app store with this version in the last month. In the last few days we submitted a new version of our app to Apple and got stuck in an app rejection loop due to it not launching in time. Our symbolicated crash log was very similar to the ones posted here. However, instead of Firebase triggering the Security framework stuff, ours showed Facebook Core SDK triggering Security, followed by WatchDog timing-out our app. After a couple more iterations of submitting and getting rejected, we messaged Apple, told them we could not repro and that nothing significant changed in that area for us. We also referenced this thread Out of nowhere we were elevated to Pending Developer Release with no further feedback from Apple's app review team. Just though I'd drop this note for others to be aware that there may be red herrings all over the place surrounding this kind of app rejection. If there is a bug in this framework, I hope it gets identified and fixed because it is a nasty possibly test-environment specific issue that burned us several developer days. |
Thank you for bringing up all the issues. We appreciate your feedback. |
Thanks so much. We are also facing this same issue and unable to get our app released. I know this is probably a tough question to answer - but do you have any idea as to when this fix would be released? |
@BuckleWatts By policy, we don't commit to dates for upcoming releases, but I will say that we are hoping to get 5.11.0 out with this issue fixed this week. |
Guys, in a project I'm working on rn we've also encounter rejection for the very same reason. But I've created new version from the vey the same code and it pass the review and it's now in store. This bug is not always appearing or the test path during review is not always the same. My recommendation is: keep trying while firebase folks are doing their stuff ;) |
Fix is available in Firebase 5.11.0, FirebaseInstanceID 3.3.0 |
We believe that we've fixed this issue in the upcoming FirebaseInstanceID 3.4.0 and Firebase 5.16.0. Since we were never able to reproduce, we're not absolutely sure, so please respond here if you still see this reoccurring with Firebase 5.16.0 or newer. |
Hello, can you point out how you guys fix it? Or paste a link? Thank you very much! I really wanna know how to fix it. |
You can get the change by updating with CocoaPods ( |
Sorry man, actually we don't use Firebase at all, I use Fabric for crash catch. But I think the crash mentioned by this thread is caused by same season, and can be fixed with same tricks. |
Just got rejected by app review, using version 5.16.0 of the Firebase iOS SDK. I don't think this issue has been fixed. |
@chliangGoogle this looks like a deadlock in a |
Thanks for the crash log! Yeah, looks like we will also need to move read operation off main thread cuz there's race condition that a deadlock could happen. This requires a bigger refactor which will come in the next release. |
@bwhtmn Can you share with us the other dependencies you have, also whether you are using keychain in your app? If you are not comfortable to share of these information, @morganchen12 can help reach out to you directly or file a case. |
@chliangGoogle I've attached the Podfile for our app below which should give you an idea of our other dependencies. We're not using the iOS keychain directly in the app, only as it's accessed through Firebase. Another possibly helpful detail is that |
Having the same issue - can't reproduce it myself, but got rejected by Apple twice in a row because the app seems to deadlock on startup. In one crashlog I noticed that a part of my app was stuck when trying to access the Keychain, and FIrebase did at the same time. Here's a part of the crashlog which might be helpful, unfortunately I can't share the whole file.
The log shows that I also access Keychain at the same time, using https://github.com/evgenyneu/keychain-swift. Hope that helps. |
Not an iOS firebase user but our SDK just received an issue report with a similar rejection. Here is an open radar ticket that could help with reproducing the issue - http://www.openradar.me/29741117 |
@rlepinski thanks so much for sharing, that's very helpful! |
We've just been experiencing the same as well: our app has been rejected twice during beta app review for 'crashing on startup'. |
Hey @ryanwilson. We have the same issue with |
@dive that's more or less what we're doing. |
@dive Apple documented not correctly setting access control of the keychain could cause blocking on main thread. We added a new fix in the incoming release to always ensure we correctly set the right access control, instead of default value(kSecAttrAccessibleWhenUnlocked), that is too strict for our use case. We think this might be the reason other than calling it from another thread. |
This should be addressed in the most recent 5.17.0 release - with a bonus of InstanceID now being open source as of #2414. Please give it a try and re-open if you have issues. |
As another data point, I got app store rejected with the below stack using 5.16.0 and am resubmitting with 5.17.0 and fingers crossed now. EDIT: 5.17.0 was approved!
|
Do you remember what was the actual issue ? @chliangGoogle |
[REQUIRED] Step 2: Describe your environment
[REQUIRED] Step 3: Describe the problem
My app was refused by the App Store because it hangs in
FirebaseApp.configure()
:The full symbolicated crashlog reported by Apple:
Crash log
Steps to reproduce:
Submit an application to the App Store, experience a rejection 😰
Relevant Code:
The crash happens in the second line of
AppDelegate.application(_:didFinishLaunchingWithOptions:)
, onFirebaseApp.configure()
:The text was updated successfully, but these errors were encountered: