invertase / react-native-firebase

🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
https://rnfirebase.io
Other
11.73k stars 2.22k forks source link

[Native Crash] [IOS] App crash without log on auth().signOut() #6725

Closed arsensgitacc closed 1 year ago

arsensgitacc commented 2 years ago

Issue

The app was crashing without any logs on IOS when calling auth().signOut() Works ok on 16.4.3. Firebase crashlytics log Crashed: com.google.firebase.firestore SIGABRT ABORT 0x0000000205b88200

Project Files

Javascript

Click To Expand

#### "@react-native-firebase/analytics": "^16.4.3", "@react-native-firebase/app": "^16.4.3", "@react-native-firebase/app-check": "^16.4.3", "@react-native-firebase/auth": "^16.4.3", "@react-native-firebase/crashlytics": "^16.4.3", "@react-native-firebase/dynamic-links": "^16.4.3", "@react-native-firebase/firestore": "^16.4.3", "@react-native-firebase/functions": "^16.4.3", "@react-native-firebase/in-app-messaging": "^16.4.3", "@react-native-firebase/messaging": "^16.4.3", "@react-native-firebase/remote-config": "^16.4.3", "@react-native-firebase/storage": "^16.4.3", ```json ``` #### `firebase.json` for react-native-firebase v6: ```json # N/A ```

iOS

Click To Expand

#### `ios/Podfile`: - [ ] I'm not using Pods - [x] I'm using Pods and my Podfile looks like: ```ruby require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules") platform :ios, '13.0' install! 'cocoapods', :deterministic_uuids => false use_modular_headers! use_frameworks! :linkage => :static require 'json' podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {} target 'mobile' do use_expo_modules! post_integrate do |installer| begin expo_patch_react_imports!(installer) rescue => e Pod::UI.warn e end end config = use_native_modules! # # Flags change depending on the env values. # flags = get_default_flags() use_react_native!( :path => config[:reactNativePath], # Hermes is now enabled by default. Disable by setting this flag to false. # Upcoming versions of React Native may rely on get_default_flags(), but # we make it explicit here to aid in the React Native upgrade process. :hermes_enabled => podfile_properties['expo.jsEngine'] == 'hermes', # :fabric_enabled => flags[:fabric_enabled], # Enables Flipper. # # Note that if you have use_frameworks! enabled, Flipper will not work and # you should disable the next line. # :flipper_configuration => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) # Uncomment to opt-in to using Flipper # # if !ENV['CI'] # use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1') # end post_install do |installer| react_native_post_install( installer, # Set `mac_catalyst_enabled` to `true` in order to apply patches # necessary for Mac Catalyst builds :mac_catalyst_enabled => false ) __apply_Xcode_12_5_M1_post_install_workaround(installer) installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' end end end end pod 'GoogleUtilities', :modular_headers => true # add pods for any other desired Firebase products # https://firebase.google.com/docs/ios/setup#available-pods target 'ImageNotification' do pod 'Firebase/Messaging', '~> 10.1.0' # version from podfile.lock end ``` #### `AppDelegate.m`: ```objc #import "AppDelegate.h" #import #import #import #import #import #import #import #import #import #import @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { RCTAppSetupPrepareApp(application); FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure]; [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions]; RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions]; NSDictionary *initProps = [self prepareInitialProps]; UIView *rootView = [self.reactDelegate createRootViewWithBridge:bridge moduleName:@"main" initialProperties:initProps]; if (@available(iOS 13.0, *)) { rootView.backgroundColor = [UIColor systemBackgroundColor]; } else { rootView.backgroundColor = [UIColor whiteColor]; } self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [self.reactDelegate createRootViewController]; rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; [super application:application didFinishLaunchingWithOptions:launchOptions]; return YES; } /// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. /// /// @see: https://reactjs.org/blog/2022/03/29/react-v18.html /// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). /// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`. - (BOOL)concurrentRootEnabled { // Switch this bool to turn on and off the concurrent root return true; } - (NSDictionary *)prepareInitialProps { NSMutableDictionary *initProps = [NSMutableDictionary new]; return initProps; } - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif } // Linking API // This change done according to react native facebook // doc. here => https://github.com/thebergamo/react-native-fbsdk-next#32-ios // TODO check this for dynamic links - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { [[AppsFlyerAttribution shared] handleOpenUrl:url options:options]; [[RNFBDynamicLinksAppDelegateInterceptor sharedInstance] application:app openURL:url options:options]; if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options]) { return YES; } if ([RCTLinkingManager application:app openURL:url options:options]) { return YES; } return NO; } // Universal Links - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray> * _Nullable))restorationHandler { [[AppsFlyerAttribution shared] continueUserActivity:userActivity restorationHandler:restorationHandler]; [[RNFBDynamicLinksAppDelegateInterceptor sharedInstance] application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; } @end ```


Android

Click To Expand

#### Have you converted to AndroidX? - [ ] my application is an AndroidX application? - [ ] I am using `android/gradle.settings` `jetifier=true` for Android compatibility? - [ ] I am using the NPM package `jetifier` for react-native compatibility? #### `android/build.gradle`: ```groovy // N/A ``` #### `android/app/build.gradle`: ```groovy // N/A ``` #### `android/settings.gradle`: ```groovy // N/A ``` #### `MainApplication.java`: ```java // N/A ``` #### `AndroidManifest.xml`: ```xml ```


Environment

Click To Expand

**`react-native info` output:** ``` System: OS: macOS 13.0.1 CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz Memory: 56.11 MB / 16.00 GB Shell: 5.8.1 - /bin/zsh Binaries: Node: 18.0.0 - /usr/local/bin/node Yarn: 1.22.17 - /usr/local/bin/yarn npm: 8.6.0 - /usr/local/bin/npm Watchman: 2022.03.21.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.3 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.1, iOS 16.1, macOS 13.0, tvOS 16.1, watchOS 9.1 Android SDK: API Levels: 23, 30, 31, 32, 33 Build Tools: 30.0.2, 30.0.3, 31.0.0, 32.0.0, 33.0.0 System Images: android-29 | Google Play Intel x86 Atom, android-31 | Google APIs Intel x86 Atom_64, android-33 | Google APIs Intel x86 Atom_64 Android NDK: Not Found IDEs: Android Studio: 2021.3 AI-213.7172.25.2113.9123335 Xcode: 14.1/14B47b - /usr/bin/xcodebuild Languages: Java: 11.0.2 - /usr/bin/javac npmPackages: @react-native-community/cli: Not Found react: 18.1.0 => 18.1.0 react-native: 0.70.6 => 0.70.6 react-native-macos: Not Found npmGlobalPackages: *react-native*: Not Found ``` - **Platform that you're experiencing the issue on**: - [x] iOS - [ ] Android - [ ] **iOS** but have not tested behavior on Android - [ ] **Android** but have not tested behavior on iOS - [ ] Both - **`react-native-firebase` version you're using that has this issue:** - `e.g. 16.4.6` - **`Firebase` module(s) you're using that has the issue:** - `e.g. Instance ID` - **Are you using `TypeScript`?** - `Y/N` & `VERSION`


mikehardy commented 2 years ago

What is this?


target 'ImageNotification' do
  pod 'Firebase/Messaging', '~> 10.1.0' # version from podfile.lock
end

? That is invalid. You must not directly specify versions for sub-pods in Firebase. You either specify the version for the whole thing (and accepting as a risk that you have incompatible things happen, like this: https://rnfirebase.io/#ios) or you delete that completely and let react-native-firebase handle the versioning of the pods that it is tightly integrated with and know that you have a tested / compatible version

I recommend you delete that and never use anything like that, I certainly never would. I can't recommend anything like that.

I don't have a lot to go on in this error message you've posted, could you post a full stack trace and ideally a minimal reproduction? (https://stackoverflow.com/help/how-to-ask / https://stackoverflow.com/help/minimal-reproducible-example)

With a full stack we can try going upstream to see if they see it, right now I don't see anything like it: https://github.com/firebase/firebase-ios-sdk/issues?q=is%3Aissue+com.google.firebase.firestore+SIGABRT+ABORT+is%3Aclosed

What's especially strange about this problem report is that there was no change to iOS between react-native-firebase 16.4.5 and 16.4.6. The release only bumped the firebase-android-sdk dependency. https://github.com/invertase/react-native-firebase/blob/main/CHANGELOG.md

mikehardy commented 2 years ago

I just tested this on my app (react-native-firebase v16.4.6 + firebase-ios-sdk 10.2.0) - it uses the firestore module and auth, and it calls auth.signOut - I did not reproduce the crash. My work app uses 4 sign-in methods: sign in with apple, google sign in, facebook sign in, and email+password. I tried all 4 logging in and signing out in turn, they all worked, on an iOS 16.1 / iPhone 14 simulator on my macOS 12.1 test rig

So we will definitely need a minimal reproducible example and/or full stack trace (grab it from Console.app with real device plugged in to the machine maybe?) in order to troubleshoot

arsensgitacc commented 2 years ago

@mikehardy Thanks for quick response

target 'ImageNotification' do pod 'Firebase/Messaging', '~> 10.1.0' # version from podfile.lock end this was added for iOS Notification Images as described here https://rnfirebase.io/messaging/ios-notification-images#step-2---add-target-to-the-podfile And I have it for a from a long time ago, but the issue with IOS crash is new.

arsensgitacc commented 2 years ago

Crash is happening in few seconds after calling auth().signOut(), and it's not throwing exceptions. And I was testing on real device. I'll try to provide minimal reproducible example and/or full stack trace

mikehardy commented 2 years ago

@arsensgitacc note this part of the doc you quote:

  pod 'Firebase/Messaging', '~> VERSION_NUMBER' # eg 6.31.0

It's a metasyntactic variable, the expectation is that you keep it up to date as needed, or alternatively you may likely remove the version specification and just say:

  pod 'Firebase/Messaging'

...and it will take the version fixed from react-native-firebase I think :thinking: - we could probably update the docs about that, and remove the need for people to pay attention to the version (which is a maintenance burden over time...)

Crash is happening in few seconds after calling auth().signOut(), and it's not throwing exceptions.

That's new information, as "steps to reproduce". I did not know that so I did not wait very long.

And I was testing on real device.

Does it happen on Simulator?

I'll try to provide minimal reproducible example and/or full stack trace

Thank you!

arsensgitacc commented 1 year ago

@mikehardy Thanks a lot for pod 'Firebase/Messaging' thing. it works!!

Does it happen on Simulator?

Yeah, it's crashing on Simulator

Full stack trace

I'm not sure if this can help. This was taken from device logs with Xcode - crashlog.txt

mikehardy commented 1 year ago

Okay - now we're getting somewhere.

Can you assert you are on react-native-firebase 16.4.6 (current as of this typing) and in file ios/Podfile.lock all the Firebase stuff from firebase-ios-sdk has resolved to 10.2.0 ? And this is the result when you

Will probably need to chase this in firebase-ios-sdk and I do not like wasting those folks' time, I want to make sure I/we understand this as well as possible before carrying it over there


Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  24

Thread 24 name:   Dispatch queue: com.google.firebase.firestore
Thread 24 Crashed:
0   libsystem_kernel.dylib                 0x1bbb5fbbc __pthread_kill + 8
1   libsystem_pthread.dylib                0x1dc5b3854 pthread_kill + 208
2   libsystem_c.dylib                      0x18baa50b0 __abort + 124
3   libsystem_c.dylib                      0x18ba506b8 abort + 136
4   libsystem_malloc.dylib                 0x1925649d8 malloc_vreport + 548
5   libsystem_malloc.dylib                 0x192564b88 malloc_report + 60
6   libsystem_malloc.dylib                 0x19254ad00 free + 284
7   Mythrill                               0x10253f060 pb_release_single_field + 808
8   Mythrill                               0x10253eb88 pb_release + 76
9   Mythrill                               0x10253ef3c pb_release_single_field + 516
10  Mythrill                               0x10253eb88 pb_release + 76
11  Mythrill                               0x10253ef3c pb_release_single_field + 516
12  Mythrill                               0x10253eb88 pb_release + 76
13  Mythrill                               0x1013439c4 firebase::firestore::nanopb::FreeNanopbMessage(pb_field_s const*, void*) + 32
14  Mythrill                               0x101167470 firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value>::Free() + 52
15  Mythrill                               0x101167424 firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value>::~Message() + 28
16  Mythrill                               0x1011673f8 firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value>::~Message() + 28
17  Mythrill                               0x101150024 std::__1::__shared_ptr_emplace<firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value>, std::__1::allocator<firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value> > >::__on_zero_shared() + 28
18  Mythrill                               0x101141170 std::__1::__shared_count::__release_shared() + 60
19  Mythrill                               0x101141114 std::__1::__shared_weak_count::__release_shared() + 28
20  Mythrill                               0x101144428 std::__1::shared_ptr<firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value> >::~shared_ptr() + 56
21  Mythrill                               0x1011443e0 std::__1::shared_ptr<firebase::firestore::nanopb::Message<firebase::firestore::_google_firestore_v1_Value> >::~shared_ptr() + 28
22  Mythrill                               0x1011443b4 firebase::firestore::nanopb::SharedMessage<firebase::firestore::_google_firestore_v1_Value>::~SharedMessage() + 28
23  Mythrill                               0x10113eea4 firebase::firestore::nanopb::SharedMessage<firebase::firestore::_google_firestore_v1_Value>::~SharedMessage() + 28
24  Mythrill                               0x101056b7c firebase::firestore::core::FieldFilter::Rep::~Rep() + 48
25  Mythrill                               0x10105568c firebase::firestore::core::FieldFilter::Rep::~Rep() + 28
26  Mythrill                               0x1010577e8 std::__1::__shared_ptr_emplace<firebase::firestore::core::FieldFilter::Rep const, std::__1::allocator<firebase::firestore::core::FieldFilter::Rep const> >::__on_zero_shared() + 36
27  Mythrill                               0x1011570b4 std::__1::__shared_count::__release_shared() + 60
28  Mythrill                               0x101157058 std::__1::__shared_weak_count::__release_shared() + 28
29  Mythrill                               0x101157ff4 std::__1::shared_ptr<firebase::firestore::core::Filter::Rep const>::~shared_ptr() + 56
30  Mythrill                               0x101157fac std::__1::shared_ptr<firebase::firestore::core::Filter::Rep const>::~shared_ptr() + 28
31  Mythrill                               0x101157f80 firebase::firestore::core::Filter::~Filter() + 28
32  Mythrill                               0x101144388 firebase::firestore::core::FieldFilter::~FieldFilter() + 28
33  Mythrill                               0x10113ee4c firebase::firestore::core::FieldFilter::~FieldFilter() + 28
34  Mythrill                               0x100fdf45c std::__1::allocator<firebase::firestore::core::FieldFilter>::destroy(firebase::firestore::core::FieldFilter*) + 28
35  Mythrill                               0x100fdf434 void std::__1::allocator_traits<std::__1::allocator<firebase::firestore::core::FieldFilter> >::destroy<firebase::firestore::core::FieldFilter, void>(std::__1::allocator<firebase::firestore::core::FieldFilter>&, firebase::firestore::core::FieldFilter*) + 32
36  Mythrill                               0x100fdf3f0 std::__1::__vector_base<firebase::firestore::core::FieldFilter, std::__1::allocator<firebase::firestore::core::FieldFilter> >::__destruct_at_end(firebase::firestore::core::FieldFilter*) + 100
37  Mythrill                               0x100fdf324 std::__1::__vector_base<firebase::firestore::core::FieldFilter, std::__1::allocator<firebase::firestore::core::FieldFilter> >::clear() + 28
38  Mythrill                               0x100fdf17c std::__1::__vector_base<firebase::firestore::core::FieldFilter, std::__1::allocator<firebase::firestore::core::FieldFilter> >::~__vector_base() + 52
39  Mythrill                               0x100fdf080 std::__1::vector<firebase::firestore::core::FieldFilter, std::__1::allocator<firebase::firestore::core::FieldFilter> >::~vector() + 36
40  Mythrill                               0x100fdf000 std::__1::vector<firebase::firestore::core::FieldFilter, std::__1::allocator<firebase::firestore::core::FieldFilter> >::~vector() + 28
41  Mythrill                               0x100fdefd4 firebase::firestore::core::Filter::Rep::~Rep() + 48
42  Mythrill                               0x101056b90 firebase::firestore::core::FieldFilter::Rep::~Rep() + 68
43  Mythrill                               0x1011b7a04 firebase::firestore::core::InFilter::Rep::~Rep() + 28
44  Mythrill                               0x1011b7994 firebase::firestore::core::InFilter::Rep::~Rep() + 28
45  Mythrill                               0x1011b8420 std::__1::__shared_ptr_emplace<firebase::firestore::core::InFilter::Rep const, std::__1::allocator<firebase::firestore::core::InFilter::Rep const> >::__on_zero_shared() + 36
46  Mythrill                               0x1011570b4 std::__1::__shared_count::__release_shared() + 60
47  Mythrill                               0x101157058 std::__1::__shared_weak_count::__release_shared() + 28
48  Mythrill                               0x101157ff4 std::__1::shared_ptr<firebase::firestore::core::Filter::Rep const>::~shared_ptr() + 56
49  Mythrill                               0x101157fac std::__1::shared_ptr<firebase::firestore::core::Filter::Rep const>::~shared_ptr() + 28
50  Mythrill                               0x101157f80 firebase::firestore::core::Filter::~Filter() + 28
51  Mythrill                               0x101157f54 firebase::firestore::core::Filter::~Filter() + 28
52  Mythrill                               0x101157f2c std::__1::allocator<firebase::firestore::core::Filter>::destroy(firebase::firestore::core::Filter*) + 28
53  Mythrill                               0x101157f04 void std::__1::allocator_traits<std::__1::allocator<firebase::firestore::core::Filter> >::destroy<firebase::firestore::core::Filter, void>(std::__1::allocator<firebase::firestore::core::Filter>&, firebase::firestore::core::Filter*) + 32
54  Mythrill                               0x101157ec0 std::__1::__vector_base<firebase::firestore::core::Filter, std::__1::allocator<firebase::firestore::core::Filter> >::__destruct_at_end(firebase::firestore::core::Filter*) + 100
55  Mythrill                               0x101157e1c std::__1::__vector_base<firebase::firestore::core::Filter, std::__1::allocator<firebase::firestore::core::Filter> >::clear() + 28
56  Mythrill                               0x101157c74 std::__1::__vector_base<firebase::firestore::core::Filter, std::__1::allocator<firebase::firestore::core::Filter> >::~__vector_base() + 52
57  Mythrill                               0x1010b8594 std::__1::vector<firebase::firestore::core::Filter, std::__1::allocator<firebase::firestore::core::Filter> >::~vector() + 36
58  Mythrill                               0x1010b82b0 std::__1::vector<firebase::firestore::core::Filter, std::__1::allocator<firebase::firestore::core::Filter> >::~vector() + 28
59  Mythrill                               0x101117948 firebase::firestore::core::Target::~Target() + 80
60  Mythrill                               0x1011178e8 firebase::firestore::core::Target::~Target() + 28
61  Mythrill                               0x1011f6bd0 std::__1::pair<firebase::firestore::core::Target const, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >::~pair() + 40
62  Mythrill                               0x1011f6b98 std::__1::pair<firebase::firestore::core::Target const, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >::~pair() + 28
63  Mythrill                               0x1011f6aa4 void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, void*> > >::destroy<std::__1::pair<firebase::firestore::core::Target const, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, void, void>(std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, void*> >&, std::__1::pair<firebase::firestore::core::Target const, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >*) + 28
64  Mythrill                               0x1011f69e8 std::__1::__hash_table<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::__unordered_map_hasher<firebase::firestore::core::Target, std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::hash<firebase::firestore::core::Target>, std::__1::equal_to<firebase::firestore::core::Target>, true>, std::__1::__unordered_map_equal<firebase::firestore::core::Target, std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::equal_to<firebase::firestore::core::Target>, std::__1::hash<firebase::firestore::core::Target>, true>, std::__1::allocator<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > > > >::__deallocate_node(std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, void*>*>*) + 112
65  Mythrill                               0x1011f6960 std::__1::__hash_table<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::__unordered_map_hasher<firebase::firestore::core::Target, std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::hash<firebase::firestore::core::Target>, std::__1::equal_to<firebase::firestore::core::Target>, true>, std::__1::__unordered_map_equal<firebase::firestore::core::Target, std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::equal_to<firebase::firestore::core::Target>, std::__1::hash<firebase::firestore::core::Target>, true>, std::__1::allocator<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > > > >::~__hash_table() + 48
66  Mythrill                               0x1011f6920 std::__1::__hash_table<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::__unordered_map_hasher<firebase::firestore::core::Target, std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::hash<firebase::firestore::core::Target>, std::__1::equal_to<firebase::firestore::core::Target>, true>, std::__1::__unordered_map_equal<firebase::firestore::core::Target, std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > >, std::__1::equal_to<firebase::firestore::core::Target>, std::__1::hash<firebase::firestore::core::Target>, true>, std::__1::allocator<std::__1::__hash_value_type<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > > > >::~__hash_table() + 28
67  Mythrill                               0x1011f68f4 std::__1::unordered_map<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> >, std::__1::hash<firebase::firestore::core::Target>, std::__1::equal_to<firebase::firestore::core::Target>, std::__1::allocator<std::__1::pair<firebase::firestore::core::Target const, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > > > >::~unordered_map() + 28
68  Mythrill                               0x1011d6b6c std::__1::unordered_map<firebase::firestore::core::Target, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> >, std::__1::hash<firebase::firestore::core::Target>, std::__1::equal_to<firebase::firestore::core::Target>, std::__1::allocator<std::__1::pair<firebase::firestore::core::Target const, std::__1::vector<firebase::firestore::core::Target, std::__1::allocator<firebase::firestore::core::Target> > > > >::~unordered_map() + 28
69  Mythrill                               0x1011f4564 firebase::firestore::local::LevelDbIndexManager::~LevelDbIndexManager() + 96
70  Mythrill                               0x1011e1c9c firebase::firestore::local::LevelDbIndexManager::~LevelDbIndexManager() + 28
71  Mythrill                               0x1011e1cc8 firebase::firestore::local::LevelDbIndexManager::~LevelDbIndexManager() + 28
72  Mythrill                               0x101249ed8 std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager>::operator()(firebase::firestore::local::LevelDbIndexManager*) const + 52
73  Mythrill                               0x101249e4c std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> >::reset(firebase::firestore::local::LevelDbIndexManager*) + 96
74  Mythrill                               0x101249ddc std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> >::~unique_ptr() + 32
75  Mythrill                               0x10123ecfc std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> >::~unique_ptr() + 28
76  Mythrill                               0x101241378 std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >::~pair() + 32
77  Mythrill                               0x10123ecd0 std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >::~pair() + 28
78  Mythrill                               0x1012456c0 void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*> > >::destroy<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void, void>(std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*> >&, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >*) + 28
79  Mythrill                               0x10124b56c std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*> > >::operator()(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*>*) + 84
80  Mythrill                               0x10124b508 std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*> > > >::reset(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*>*) + 96
81  Mythrill                               0x10124b498 std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*> > > >::~unique_ptr() + 32
82  Mythrill                               0x10124a838 std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*> > > >::~unique_ptr() + 28
83  Mythrill                               0x101251d54 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > > > >::erase(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, void*>*>) + 96
84  Mythrill                               0x101251cd4 unsigned long std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > > > >::__erase_unique<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 120
85  Mythrill                               0x10123f944 std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<firebase::firestore::local::LevelDbIndexManager, std::__1::default_delete<firebase::firestore::local::LevelDbIndexManager> > > > >::erase(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 32
86  Mythrill                               0x10123f79c firebase::firestore::local::LevelDbPersistence::ReleaseOtherUserSpecificComponents(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 164
87  Mythrill                               0x10128fff4 firebase::firestore::local::LocalStore::HandleUserChange(firebase::firestore::credentials::User const&) + 332
88  Mythrill                               0x101404904 firebase::firestore::core::SyncEngine::HandleCredentialChange(firebase::firestore::credentials::User const&) + 168
89  Mythrill                               0x1010c30d4 firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()::operator()() const + 180
90  Mythrill                               0x1010c3000 decltype(static_cast<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()&>(fp)()) std::__1::__invoke<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()&>(firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()&) + 24
91  Mythrill                               0x1010c2fb8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()&>(firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()&) + 28
92  Mythrill                               0x1010c2f90 std::__1::__function::__alloc_func<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'(), std::__1::allocator<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()>, void ()>::operator()() + 28
93  Mythrill                               0x1010c1ab8 std::__1::__function::__func<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'(), std::__1::allocator<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<firebase::firestore::credentials::AuthToken, firebase::firestore::credentials::User> >, std::__1::shared_ptr<firebase::firestore::credentials::CredentialsProvider<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_4::operator()(firebase::firestore::credentials::User)::'lambda0'()>, void ()>::operator()() + 28
94  Mythrill                               0x1018f79f8 std::__1::__function::__value_func<void ()>::operator()() const + 60
95  Mythrill                               0x1018f79b0 std::__1::function<void ()>::operator()() const + 24
96  Mythrill                               0x100fa6cac firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 176
97  Mythrill                               0x100fabc24 firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0::operator()() const + 32
98  Mythrill                               0x100fabbe4 decltype(static_cast<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0&>(fp)()) std::__1::__invoke<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0&>(firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0&) + 24
99  Mythrill                               0x100fabb9c void std::__1::__invoke_void_return_wrapper<void, true>::__call<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0&>(firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0&) + 28
100 Mythrill                               0x100fabb74 std::__1::__function::__alloc_func<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0, std::__1::allocator<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0>, void ()>::operator()() + 28
101 Mythrill                               0x100faa6ec std::__1::__function::__func<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0, std::__1::allocator<firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0>, void ()>::operator()() + 28
102 Mythrill                               0x1018f79f8 std::__1::__function::__value_func<void ()>::operator()() const + 60
103 Mythrill                               0x1018f79b0 std::__1::function<void ()>::operator()() const + 24
104 Mythrill                               0x10145bf04 firebase::firestore::util::Task::ExecuteAndRelease() + 172
105 Mythrill                               0x1010478d0 firebase::firestore::util::ExecutorLibdispatch::InvokeAsync(void*) + 32
106 libdispatch.dylib                      0x181030094 _dispatch_client_callout + 16
107 libdispatch.dylib                      0x18100b4a4 _dispatch_lane_serial_drain$VARIANT$armv81 + 600
108 libdispatch.dylib                      0x18100bf44 _dispatch_lane_invoke$VARIANT$armv81 + 388
109 libdispatch.dylib                      0x1810158e0 _dispatch_workloop_worker_thread + 608
110 libsystem_pthread.dylib                0x1dc5a7e10 _pthread_wqthread + 284
111 libsystem_pthread.dylib                0x1dc5a793c start_wqthread + 8

Thread 24 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x0000000000000001   x7: 0x0000000000000403
    x8: 0x000000016f203000   x9: 0xe6368f4e170bbf07  x10: 0x00000000000003e8  x11: 0x00000000000000a2
   x12: 0x0000000000000000  x13: 0x0000000000000033  x14: 0x0000000022e34800  x15: 0x0000000000000069
   x16: 0x0000000000000148  x17: 0x0000000022e00000  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000000012913  x21: 0x000000016f2030e0  x22: 0x000000016f201570  x23: 0x000000012d924000
   x24: 0x0000000000000000  x25: 0x0000000000000000  x26: 0x000000016f17bc2d  x27: 0x000000016f203000
   x28: 0x0000000283578300   fp: 0x000000016f201440   lr: 0x00000001dc5b3854
    sp: 0x000000016f201420   pc: 0x00000001bbb5fbbc cpsr: 0x40000000
   far: 0x0000000000000000  esr: 0x56000080  Address size fault
arsensgitacc commented 1 year ago

@mikehardy Sorry for late answer :(

Can you assert you are on react-native-firebase 16.4.6 (current as of this typing) and in file ios/Podfile.lock all the Firebase stuff from firebase-ios-sdk has resolved to 10.2.0 ? And this is the result when you

Yeah, rn-firebase is on 16.4.6 resolved on 10.2.0. See ios/Podfile.lock related stuff bellow.

wait for...some seconds? What's the longest you have ever waited? It happens every time?

Max seconds for me is 2 secs.

this is ios/Podfile.lock

joshke commented 1 year ago

We are facing the same issue after upgrading to latest version. After hitting the logout button, app crashes 1-2 seconds later. But user is logged out on next start . It's not a big problem for us now, but would be nice to see this fixed.

We see in Bugsnag just SIGABRT pb_release_single_field.

I think the previous posts provides the same information I would have had provided.

iOS only

StasDoskalenkoHover commented 1 year ago

It is fixed with ios SDK 10.3.0 https://github.com/firebase/firebase-ios-sdk/pull/10535

mikehardy commented 1 year ago

Oh great! As an emergency "get this released now" you may override your version locally in Podfile https://rnfirebase.io/#ios - I'll be doing a release here with 10.3.0 shortly - it did not break anything in our testing, I have full faith in it just haven't released yet

amerllica commented 1 year ago

I'm facing this issue but I'm not using the firebase auth module. The following is my crash detail on the Firebase console:

Crashed: com.google.firebase.crashlytics.ios.exception SIGABRT ABORT 0x00000001ba7979c4

Crashed: com.google.firebase.crashlytics.ios.exception
0  FirebaseCrashlytics            0x1eea8 FIRCLSProcessRecordAllThreads + 184
1  FirebaseCrashlytics            0x1f288 FIRCLSProcessRecordAllThreads + 1176
2  FirebaseCrashlytics            0x164d4 FIRCLSHandler + 48
3  FirebaseCrashlytics            0x111a8 __FIRCLSExceptionRecord_block_invoke + 92
4  libdispatch.dylib              0x3950 _dispatch_client_callout + 20
5  libdispatch.dylib              0x12a70 _dispatch_lane_barrier_sync_invoke_and_complete + 56
6  FirebaseCrashlytics            0x101b4 FIRCLSExceptionRecord + 204
7  FirebaseCrashlytics            0x10cc8 FIRCLSExceptionRecordNSException + 452
8  FirebaseCrashlytics            0xfe0c FIRCLSTerminateHandler() + 404
9  libc++abi.dylib                0x12f58 std::__terminate(void (*)()) + 20
10 libc++abi.dylib                0x12ef4 std::terminate() + 64
11 libobjc.A.dylib                0x2a4d4 objc::DenseMapBase<objc::DenseMap<objc_class*, PendingInitialize*, objc::DenseMapValueInfo<PendingInitialize*>, objc::DenseMapInfo<objc_class*>, objc::detail::DenseMapPair<objc_class*, PendingInitialize*> >, objc_class*, PendingInitialize*, objc::DenseMapValueInfo<PendingInitialize*>, objc::DenseMapInfo<objc_class*>, objc::detail::DenseMapPair<objc_class*, PendingInitialize*> >::FatalCorruptHashTables(objc::detail::DenseMapPair<objc_class*, PendingInitialize*> const*, unsigned int) const + 14
12 libdispatch.dylib              0x3964 _dispatch_client_callout + 40
13 libdispatch.dylib              0xb0ac _dispatch_lane_serial_drain + 664
14 libdispatch.dylib              0xbc10 _dispatch_lane_invoke + 392
15 libdispatch.dylib              0x16318 _dispatch_workloop_worker_thread + 656
16 libsystem_pthread.dylib        0x11b0 _pthread_wqthread + 288
17 libsystem_pthread.dylib        0xf50 start_wqthread + 8
mikehardy commented 1 year ago

@amerllica have you used the linked documentation above to move to firebase-ios-sdk 10.3.0? Do you reproduce the crash then?

amerllica commented 1 year ago

Dear @mikehardy, Firebase console informed me, I cannot reproduce the crash

Screenshot 2022-12-09 at 12 39 12 PM

I just updated the following libraries to 16.4.6:

"@react-native-firebase/analytics": "^16.4.6",
"@react-native-firebase/app": "^16.4.6",
"@react-native-firebase/crashlytics": "^16.4.6",

I will do the SDK update, it is on Podfile,

# Override Firebase SDK Version
$FirebaseSDKVersion = '10.3.0'
amerllica commented 1 year ago

Dear @mikehardy, How I can update the iOS SDK? because I couldn't find any documentation link above, by changing $FirebaseSDKVersion = '10.3.0' and then pod install I got the following error:

RNFBAnalytics: Using user specified Firebase SDK version '10.3.0'
RNFBAnalytics: Using Firebase/AnalyticsWithoutAdIdSupport pod in place of default Firebase/Analytics
RNFBAnalytics: Using overridden static_framework value of 'true'
RNFBApp: Using user specified Firebase SDK version '10.3.0'
RNFBApp: Using overridden static_framework value of 'true'
RNFBCrashlytics: Using user specified Firebase SDK version '10.3.0'
RNFBCrashlytics: Using overridden static_framework value of 'true'
Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`

[!] CocoaPods could not find compatible versions for pod "FirebaseCoreExtension":
  In Podfile:
    RNFBCrashlytics (from `../node_modules/@react-native-firebase/crashlytics`) was resolved to 16.4.6, which depends on
      FirebaseCoreExtension (= 10.3.0)

None of your spec sources contain a spec satisfying the dependency: `FirebaseCoreExtension (= 10.3.0)`.

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.
mikehardy commented 1 year ago

@amerllica How did it go when you did pod repo update then retried?

That pod exists at that version if you search on cocoapods.org: https://cocoapods.org/ https://github.com/CocoaPods/Specs/blob/master/Specs/4/7/f/FirebaseCoreExtension/10.3.0/FirebaseCoreExtension.podspec.json

amerllica commented 1 year ago

@mikehardy, By pod repo update I got this:

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=dlopen%28%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%2C+0x0009%29%3A+tried%3A+%27%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%27+%28mach-o+file%2C+but+is+an+incompatible+architecture+%28have+%27x86_64%27%2C+need+%27arm64%27%29%29%2C+%27%2FSystem%2FVolumes%2FPreboot%2FCryptexes%2FOS%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%27+%28no+such+file%29%2C+%27%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%27+%28mach-o+file%2C+but+is+an+incompatible+architecture+%28have+%27x86_64%27%2C+need+%27arm64%27%29%29+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Looking for related issues on cocoapods/cocoapods...
Searching for inspections failed: undefined method `map' for nil:NilClass

And I couldn't do the retrying.

mikehardy commented 1 year ago

If your local system is unable to update the pod repos you are stuck. That's a fundamental command that should work in react-native projects and you'll have to get it working.

pweisensee commented 1 year ago

I was having the same issue - unlogged fatal crash on auth().signOut()

I can confirm that overriding the Podfile and rebuilding fixes this issue.

# Override Firebase SDK Version
$FirebaseSDKVersion = '10.3.0'

Can you release a patch with the iOS 10.3.0 version included?

frankcalise commented 1 year ago

If anyone is looking to achieve this Podfile override via Expo dev client workflow, you can use something like this config plugin (you may have additional configuration depending on your needs)

https://gist.github.com/frankcalise/9f9192655c138c8d94cd62afebf48ff0

mikehardy commented 1 year ago

Sorry for the delay everyone, #6790 is in the queue and I will merge + release it as soon as CI passes, it contains firebase-ios-sdk 10.3.0 as the new default

mikehardy commented 1 year ago

publishing now 16.4.7 16.5.0 (see below :point_down: )

frankcalise commented 1 year ago

Seems like it went out as 16.5.0? image

mikehardy commented 1 year ago

Oh! There were other items mixed in there - it wasn't the only PR. One of them must have been a feat - probably the ongoing per-package work to bring in firebase-js-sdk v9 modular syntax support. No worries though, safe + easy to update, no breaking changes etc