firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.67k stars 1.49k forks source link

Protobuf crash on 32-bit devices in PHTFlatFilePhenotype and Firestore (leveldb) #3851

Closed fangyuxi closed 5 years ago

fangyuxi commented 5 years ago

I'm using firebase 6.8.1 When new App is released at Appstore, I found more crashs appear in firebase dashboard. I do not use ProtoBuf directly I updated all Pods, before upload package to Appstore. All componets are newest.

Crashed: PHTFlatFilePhenotype
0  Protobuf                       0x160efd8 GPBCodedInputStreamReadDouble + 88 (GPBUtilities_PackagePrivate.h:88)
1  Protobuf                       0x160efd1 GPBCodedInputStreamReadDouble + 103 (GPBCodedInputStream.m:103)
2  Protobuf                       0x1639fd1 -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 2143 (GPBMessage.m:2143)
3  Protobuf                       0x160f9c5 -[GPBCodedInputStream readMessage:extensionRegistry:] + 296 (GPBCodedInputStream.m:296)
4  Protobuf                       0x163a47f MergeRepeatedNotPackedFieldFromCodedInputStream + 2294 (GPBMessage.m:2294)
5  Protobuf                       0x1639f6b -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 2393 (GPBMessage.m:2393)
6  Protobuf                       0x160f9c5 -[GPBCodedInputStream readMessage:extensionRegistry:] + 296 (GPBCodedInputStream.m:296)
7  Protobuf                       0x163a47f MergeRepeatedNotPackedFieldFromCodedInputStream + 2294 (GPBMessage.m:2294)
8  Protobuf                       0x1639f6b -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 2393 (GPBMessage.m:2393)
9  Protobuf                       0x160f9c5 -[GPBCodedInputStream readMessage:extensionRegistry:] + 296 (GPBCodedInputStream.m:296)
10 Protobuf                       0x163a47f MergeRepeatedNotPackedFieldFromCodedInputStream + 2294 (GPBMessage.m:2294)
11 Protobuf                       0x1639f6b -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 2393 (GPBMessage.m:2393)
12 Protobuf                       0x1639647 -[GPBMessage mergeFromData:extensionRegistry:] + 1928 (GPBMessage.m:1928)
13 Protobuf                       0x1636d55 -[GPBMessage initWithData:extensionRegistry:error:] + 868 (GPBMessage.m:868)
14 Protobuf                       0x163971b +[GPBMessage parseFromData:extensionRegistry:error:] + 1957 (GPBMessage.m:1957)
15 Protobuf                       0x16396e5 +[GPBMessage parseFromData:error:] + 1951 (GPBMessage.m:1951)
16 SparkMusic                     0x526773 __69-[PHTHeterodyneSyncer syncAccount:syncedScopes:fetchReason:callback:]_block_invoke_2 + 4831091
17 libdispatch.dylib              0x1b461797 _dispatch_call_block_and_release + 10
18 libdispatch.dylib              0x1b46e59d _dispatch_queue_serial_drain + 854
19 libdispatch.dylib              0x1b464b71 _dispatch_queue_invoke + 886
20 libdispatch.dylib              0x1b46ea1f _dispatch_queue_override_invoke + 282
21 libdispatch.dylib              0x1b4701b5 _dispatch_root_queue_drain + 326
22 libdispatch.dylib              0x1b47000f _dispatch_worker_thread3 + 106
23 libsystem_pthread.dylib        0x1b61687d _pthread_wqthread + 1040
24 libsystem_pthread.dylib        0x1b61645c start_wqthread + 8

This is the details of the App that has Crash.

-Xcode Version 10.2.1 
-Base SDK iOS 12.2
-Crash iOS Version iOS9, iOS10 only.

The pod install info.

Installing AFNetworking (3.2.1)
Installing BoringSSL-GRPC (0.0.3)
Installing CYLTabBarController (1.28.3)
Installing Crashlytics (3.14.0)
Installing DeviceUtil (5.1.0)
Installing FBAudienceNetwork (5.5.0)
Installing FBSDKCoreKit (5.5.0)
Installing FBSDKLoginKit (5.5.0)
Installing Fabric (1.10.2)
Installing Firebase (6.8.1)
Installing FirebaseABTesting (3.1.1)
Installing FirebaseAnalytics (6.1.1)
Installing FirebaseAnalyticsInterop (1.4.0)
Installing FirebaseAuth (6.2.3)
Installing FirebaseAuthInterop (1.0.0)
Installing FirebaseCore (6.2.3)
Installing FirebaseCoreDiagnostics (1.0.1)
Installing FirebaseCoreDiagnosticsInterop (1.0.0)
Installing FirebaseDatabase (6.1.0)
Installing FirebaseFirestore (1.5.0)
Installing FirebaseInstanceID (4.2.5)
Installing FirebaseMessaging (4.1.4)
Installing FirebasePerformance (3.1.4)
Installing FirebaseRemoteConfig (4.4.0)
Installing FirebaseStorage (3.4.1)
Installing FirebaseUI (8.0.4)
Installing GTMSessionFetcher (1.2.2)
Installing Google-Mobile-Ads-SDK (7.49.0)
Installing GoogleAppMeasurement (6.1.1)
Installing GoogleDataTransport (1.2.0)
Installing GoogleDataTransportCCTSupport (1.0.3)
Installing GoogleMobileAdsMediationFacebook (5.5.0.0)
Installing GoogleSignIn (4.4.0)
Installing GoogleToolboxForMac (2.2.1)
Installing GoogleUtilities (6.2.5)
Installing IQKeyboardManager (6.4.2)
Installing KVOController (1.2.0)
Installing LEEAlert (1.2.8)
Installing MJRefresh (3.2.0)
Installing MOBFoundation (3.2.5)
Installing Masonry (1.1.0)
Installing NMEasyTipView (1.2)
Installing Protobuf (3.9.0)
Installing RTRootNavigationController (0.7.1)
Installing Reachability (3.2)
Installing ReactiveCocoa (2.5)
Installing SDWebImage (5.1.1)
Installing SJBaseVideoPlayer (2.7.1)
Installing SJUIKit (0.0.0.35)
Installing SVProgressHUD (2.2.5)
Installing TOWebViewController (2.2.8)
Installing TTGTagCollectionView (1.11.1)
Installing YYCache (1.0.4)
Installing YYCategories (1.0.4)
Installing YYModel (1.0.4)
Installing gRPC-C++ (0.0.9)
Installing gRPC-Core (1.21.0)
Installing leveldb-library (1.22)
Installing lottie-ios (2.5.3)
Installing mob_sharesdk (4.3.2)
Installing nanopb (0.3.901)
Installing youtube-ios-player-helper (0.1.6)
patrickmarshall commented 5 years ago

@paulb777 I am still using XCode 10.2.1 for distributing my app.

patrickmarshall commented 5 years ago

Here is more information about our crash, Hope this will help Firebase SDK team here

Podfile:

pod 'Firebase/Core', '6.2.0'
pod 'Firebase/DynamicLinks', '6.2.0'
pod 'Firebase/Performance', '6.2.0'
pod 'Firebase/Messaging', '6.2.0'

Podfile.lock

  - Firebase/Core (6.2.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 6.0.1)
  - Firebase/CoreOnly (6.2.0):
    - FirebaseCore (= 6.0.2)
  - Firebase/DynamicLinks (6.2.0):
    - Firebase/CoreOnly
    - FirebaseDynamicLinks (~> 4.0.0)
  - Firebase/Messaging (6.2.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (~> 4.0.2)
  - Firebase/Performance (6.2.0):
    - Firebase/CoreOnly
    - FirebasePerformance (~> 3.0.0)
  - FirebaseABTesting (3.0.0):
    - FirebaseCore (~> 6.0)
    - Protobuf (~> 3.5)
  - FirebaseAnalytics (6.0.1):
    - FirebaseCore (~> 6.0)
    - FirebaseInstanceID (~> 4.1)
    - GoogleAppMeasurement (= 6.0.1)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GoogleUtilities/Network (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - nanopb (~> 0.3)
  - FirebaseAnalyticsInterop (1.2.0)
  - FirebaseCore (6.0.2):
    - GoogleUtilities/Environment (~> 6.0)
    - GoogleUtilities/Logger (~> 6.0)
  - FirebaseDynamicLinks (4.0.0):
    - FirebaseAnalyticsInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
  - FirebaseInstanceID (4.1.1):
    - FirebaseCore (~> 6.0)
    - GoogleUtilities/Environment (~> 6.0)
    - GoogleUtilities/UserDefaults (~> 6.0)
  - FirebaseMessaging (4.0.2):
    - FirebaseAnalyticsInterop (~> 1.1)
    - FirebaseCore (~> 6.0)
    - FirebaseInstanceID (~> 4.1)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.2)
    - GoogleUtilities/Environment (~> 6.2)
    - GoogleUtilities/Reachability (~> 6.2)
    - GoogleUtilities/UserDefaults (~> 6.2)
    - Protobuf (~> 3.1)
  - FirebasePerformance (3.0.0):
    - FirebaseCore (~> 6.0)
    - FirebaseInstanceID (~> 4.0)
    - FirebaseRemoteConfig (~> 4.0)
    - GoogleToolboxForMac/Logger (~> 2.1)
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
    - GoogleUtilities/Environment (~> 6.0)
    - GoogleUtilities/ISASwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GTMSessionFetcher/Core (~> 1.1)
    - Protobuf (~> 3.5)
  - FirebaseRemoteConfig (4.0.0):
    - FirebaseABTesting (~> 3.0)
    - FirebaseCore (~> 6.0)
    - FirebaseInstanceID (~> 4.0)
    - GoogleUtilities/Environment (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - Protobuf (~> 3.5)

Fabric info:

Screen Shot 2019-09-17 at 21 50 47 Screen Shot 2019-09-17 at 21 52 03

Hope this will help. @paulb777 @visumickey

willsbor commented 5 years ago

Hi, we also face this issue. for iOS10 users

the crash stack is 螢幕快照 2019-09-18 上午9 24 25

and every crash log, it also has another thread call stack about CCTLogWriter (not all of the crash log is the same stack.) 螢幕快照 2019-09-18 上午9 24 07

I'm not sure what relative between these two stack. Hope can help this issue

morganchen12 commented 5 years ago

@ChristianVinterly Yours is a Firestore/Protobuf issue, not related to Phenotype. Please file a separate issue.

visumickey commented 5 years ago

Thanks a lot @patrickmarshall @Strate @willsbor for sharing the crash details. Thanks everyone for chiming:

Trying to get some details clarified:

  1. Any instance of these crashes happening only on the latest build of the App (After updating to the latest version of Firebase)? (We are trying to ascertain if this is occurring only on the latest version. Our understanding based on the comments above is NO).
  2. Have the crashes started showing only from Sep 13th? (Trying to narrow down the date range)
  3. Has the volume of crashes slowed down or is that still in the same range? (Trying to make sure if this is not sporadic).
  4. Apart from iOS 9 and iOS 10, do we have any insights on the kind of devices where this issue is more dominant? (Helps us to reproduce the issue).

Based on our understanding until now, we do not expect this to be an SDK issue. We are still working hard to figure out what could have caused this impact.

Please share your inputs on the questions above. That can help us great!

Strate commented 5 years ago

@visumickey

  1. I've tried to downgrade Firebase dependencies to ~> 5.20.1, build new version to Test Flight and asked one of my users to test (I do not have iOS 10 device) - it still fails, with exactly same stack trace & error. Btw, previous versions of my app, which are uses exactly same version of Pod are not affected - I do not see any errors in Crashlytics from previous app builds.

  2. Can't answer, because my app released later

  3. Volume of crashes is increased by 100% right now (our new version in production for 2 days). Looks like all iOS9 & ios10 devices are affected.

  4. Top of my affected devices are iPhone 5 & iPhone 5c

Now I check the theory that this is build issue. When I test on iPhone 5 & ios10 simulator via "Play" button in Xcode everything is fine (no crash). Now I want to archive and export .ipa-file to test on emulator.

visumickey commented 5 years ago

Thanks @Strate. Can you share the podfile/podfile.lock after downgrading firebase to 5.20.1? May be we can try reproducing with that combination.

Strate commented 5 years ago

@visumickey

Podfile ``` # Uncomment the next line to define a global platform for your project platform :ios, '9.0' target 'chatium' do # Uncomment the next line if you're using Swift or would like to use dynamic frameworks # use_frameworks! # this is very important to have! rn_path = '../node_modules/react-native' pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec" pod 'React', path: rn_path, subspecs: [ 'Core', 'RCTActionSheet', 'RCTAnimation', 'RCTGeolocation', 'RCTImage', 'RCTLinkingIOS', 'RCTNetwork', 'RCTSettings', 'RCTText', 'RCTVibration', 'RCTWebSocket' ] # Pods for chatium #pod 'react-native-wkwebview', :path => '../node_modules/react-native-wkwebview-reborn' #pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen' pod 'RNFirebase', :path => '../node_modules/react-native-firebase/ios' pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' pod 'react-native-fast-image', :path => '../node_modules/react-native-fast-image' pod 'RNImageCropPicker', :path => '../node_modules/react-native-image-crop-picker' # Add new pods below this line pod 'RNAudio', :path => '../node_modules/react-native-audio' pod 'react-native-webview', :path => '../node_modules/react-native-webview' pod 'react-native-camera', :path => '../node_modules/react-native-camera' pod 'RNSha256', :path => '../node_modules/react-native-sha256' pod 'RNFS', :path => '../node_modules/react-native-fs' pod 'rn-fetch-blob', :path => '../node_modules/rn-fetch-blob' pod 'RNGestureHandler', :path => '../node_modules/react-native-gesture-handler' pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info' pod 'react-native-keep-awake', :path => '../node_modules/react-native-keep-awake' pod 'RNGoogleSignin', :path => '../node_modules/react-native-google-signin' pod 'react-native-image-resizer', :path => '../node_modules/react-native-image-resizer' pod 'MerryPhotoViewer', :path => '../node_modules/@merryjs/photo-viewer' pod 'NYTPhotoViewer',:git => 'https://github.com/NYTimes/NYTPhotoViewer.git', :branch => 'master' pod 'react-native-orientation-locker', :path => '../node_modules/react-native-orientation-locker' pod 'RNSVG', :path => '../node_modules/react-native-svg' pod 'react-native-video', :path => '../node_modules/react-native-video' end pod 'Firebase/Core', '~> 5.20.1' pod 'Firebase/Auth', '~> 5.20.1' pod 'Firebase/Firestore', '~> 5.20.1' pod 'Firebase/DynamicLinks', '~> 5.20.1' pod 'Firebase/Messaging', '~> 5.20.1' pod 'Firebase/Database', '~> 5.20.1' pod 'Firebase/Storage', '~> 5.20.1' pod 'Firebase/Performance', '~> 5.20.1' pod 'Fabric', '~> 1.9.0' pod 'Crashlytics', '~> 3.12.0' pod 'FacebookSDK', '~> 4.38.0' pod 'FBSDKCoreKit', '~> 4.38.0' pod 'FBSDKLoginKit', '~> 4.38.0' pod 'FBSDKShareKit', '~> 4.38.0' pod 'GoogleAppMeasurement', '5.8.1' pod 'GoogleSignIn', '4.4.0' # pod 'leveldb-library', '1.20' pod 'FirebaseAnalyticsInterop', '1.2.0' pod 'SDWebImage', '5.0.6' # very important to have, unless you removed React dependencies for Libraries # and you rely on Cocoapods to manage it post_install do |installer| installer.pods_project.targets.each do |target| if target.name == "React" target.remove_from_project end end end ```
Podilfe.lock ``` PODS: - Bolts (1.9.0): - Bolts/AppLinks (= 1.9.0) - Bolts/Tasks (= 1.9.0) - Bolts/AppLinks (1.9.0): - Bolts/Tasks - Bolts/Tasks (1.9.0) - BoringSSL-GRPC (0.0.2): - BoringSSL-GRPC/Implementation (= 0.0.2) - BoringSSL-GRPC/Interface (= 0.0.2) - BoringSSL-GRPC/Implementation (0.0.2): - BoringSSL-GRPC/Interface (= 0.0.2) - BoringSSL-GRPC/Interface (0.0.2) - Crashlytics (3.12.0): - Fabric (~> 1.9.0) - Fabric (1.9.0) - FacebookSDK (4.38.0): - Bolts (~> 1.9) - FacebookSDK/CoreKit (= 4.38.0) - FacebookSDK/MarketingKit (= 4.38.0) - FacebookSDK/CoreKit (4.38.0): - Bolts (~> 1.9) - FBSDKCoreKit - FacebookSDK/MarketingKit (4.38.0): - Bolts (~> 1.9) - FacebookSDK/CoreKit - FBSDKMarketingKit - FBSDKCoreKit (4.38.1): - Bolts (~> 1.9) - FBSDKLoginKit (4.38.1): - FBSDKCoreKit - FBSDKMarketingKit (4.38.0): - FBSDKCoreKit - FBSDKShareKit (4.38.1): - FBSDKCoreKit - Firebase/Auth (5.20.2): - Firebase/CoreOnly - FirebaseAuth (= 5.4.2) - Firebase/Core (5.20.2): - Firebase/CoreOnly - FirebaseAnalytics (= 5.8.1) - Firebase/CoreOnly (5.20.2): - FirebaseCore (= 5.4.1) - Firebase/Database (5.20.2): - Firebase/CoreOnly - FirebaseDatabase (= 5.1.1) - Firebase/DynamicLinks (5.20.2): - Firebase/CoreOnly - FirebaseDynamicLinks (= 3.4.3) - Firebase/Firestore (5.20.2): - Firebase/CoreOnly - FirebaseFirestore (= 1.2.1) - Firebase/Messaging (5.20.2): - Firebase/CoreOnly - FirebaseMessaging (= 3.5.0) - Firebase/Performance (5.20.2): - Firebase/Core - FirebasePerformance (= 2.2.4) - Firebase/Storage (5.20.2): - Firebase/CoreOnly - FirebaseStorage (= 3.1.1) - FirebaseABTesting (2.0.0): - FirebaseCore (~> 5.0) - Protobuf (~> 3.5) - FirebaseAnalytics (5.8.1): - FirebaseCore (~> 5.4) - FirebaseInstanceID (~> 3.8) - GoogleAppMeasurement (= 5.8.1) - GoogleUtilities/AppDelegateSwizzler (~> 5.2) - GoogleUtilities/MethodSwizzler (~> 5.2) - GoogleUtilities/Network (~> 5.2) - "GoogleUtilities/NSData+zlib (~> 5.2)" - nanopb (~> 0.3) - FirebaseAnalyticsInterop (1.2.0) - FirebaseAuth (5.4.2): - FirebaseAuthInterop (~> 1.0) - FirebaseCore (~> 5.2) - GoogleUtilities/Environment (~> 5.2) - GTMSessionFetcher/Core (~> 1.1) - FirebaseAuthInterop (1.0.0) - FirebaseCore (5.4.1): - GoogleUtilities/Environment (~> 5.2) - GoogleUtilities/Logger (~> 5.2) - FirebaseDatabase (5.1.1): - FirebaseAuthInterop (~> 1.0) - FirebaseCore (~> 5.2) - leveldb-library (~> 1.18) - FirebaseDynamicLinks (3.4.3): - FirebaseAnalytics (~> 5.1) - FirebaseAnalyticsInterop (~> 1.0) - FirebaseCore (~> 5.2) - FirebaseFirestore (1.2.1): - FirebaseAuthInterop (~> 1.0) - FirebaseCore (~> 5.2) - FirebaseFirestore/abseil-cpp (= 1.2.1) - "gRPC-C++ (= 0.0.6)" - leveldb-library (~> 1.20) - nanopb (~> 0.3.901) - Protobuf (~> 3.1) - FirebaseFirestore/abseil-cpp (1.2.1): - FirebaseAuthInterop (~> 1.0) - FirebaseCore (~> 5.2) - "gRPC-C++ (= 0.0.6)" - leveldb-library (~> 1.20) - nanopb (~> 0.3.901) - Protobuf (~> 3.1) - FirebaseInstanceID (3.8.1): - FirebaseCore (~> 5.2) - GoogleUtilities/Environment (~> 5.2) - GoogleUtilities/UserDefaults (~> 5.2) - FirebaseMessaging (3.5.0): - FirebaseAnalyticsInterop (~> 1.1) - FirebaseCore (~> 5.2) - FirebaseInstanceID (~> 3.6) - GoogleUtilities/Environment (~> 5.3) - GoogleUtilities/Reachability (~> 5.3) - GoogleUtilities/UserDefaults (~> 5.3) - Protobuf (~> 3.1) - FirebasePerformance (2.2.4): - FirebaseAnalytics (~> 5.8) - FirebaseInstanceID (~> 3.8) - FirebaseRemoteConfig (~> 3.1) - GoogleToolboxForMac/Logger (~> 2.1) - "GoogleToolboxForMac/NSData+zlib (~> 2.1)" - GoogleUtilities/ISASwizzler (~> 5.2) - GoogleUtilities/MethodSwizzler (~> 5.2) - GTMSessionFetcher/Core (~> 1.1) - Protobuf (~> 3.5) - FirebaseRemoteConfig (3.1.0): - FirebaseABTesting (~> 2.0) - FirebaseAnalytics (~> 5.3) - FirebaseCore (~> 5.1) - FirebaseInstanceID (~> 3.3) - GoogleUtilities/Environment (~> 5.2) - "GoogleUtilities/NSData+zlib (~> 5.2)" - Protobuf (~> 3.5) - FirebaseStorage (3.1.1): - FirebaseAuthInterop (~> 1.0) - FirebaseCore (~> 5.2) - GTMSessionFetcher/Core (~> 1.1) - FLAnimatedImage (1.0.12) - GoogleAppMeasurement (5.8.1): - GoogleUtilities/AppDelegateSwizzler (~> 5.2) - GoogleUtilities/MethodSwizzler (~> 5.2) - GoogleUtilities/Network (~> 5.2) - "GoogleUtilities/NSData+zlib (~> 5.2)" - nanopb (~> 0.3) - GoogleSignIn (4.4.0): - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)" - "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)" - GTMSessionFetcher/Core (~> 1.1) - GoogleToolboxForMac/DebugUtils (2.2.1): - GoogleToolboxForMac/Defines (= 2.2.1) - GoogleToolboxForMac/Defines (2.2.1) - GoogleToolboxForMac/Logger (2.2.1): - GoogleToolboxForMac/Defines (= 2.2.1) - "GoogleToolboxForMac/NSData+zlib (2.2.1)": - GoogleToolboxForMac/Defines (= 2.2.1) - "GoogleToolboxForMac/NSDictionary+URLArguments (2.2.1)": - GoogleToolboxForMac/DebugUtils (= 2.2.1) - GoogleToolboxForMac/Defines (= 2.2.1) - "GoogleToolboxForMac/NSString+URLArguments (= 2.2.1)" - "GoogleToolboxForMac/NSString+URLArguments (2.2.1)" - GoogleUtilities/AppDelegateSwizzler (5.8.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Environment (5.8.0) - GoogleUtilities/ISASwizzler (5.8.0) - GoogleUtilities/Logger (5.8.0): - GoogleUtilities/Environment - GoogleUtilities/MethodSwizzler (5.8.0): - GoogleUtilities/Logger - GoogleUtilities/Network (5.8.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - "GoogleUtilities/NSData+zlib (5.8.0)" - GoogleUtilities/Reachability (5.8.0): - GoogleUtilities/Logger - GoogleUtilities/UserDefaults (5.8.0): - GoogleUtilities/Logger - "gRPC-C++ (0.0.6)": - "gRPC-C++/Implementation (= 0.0.6)" - "gRPC-C++/Interface (= 0.0.6)" - "gRPC-C++/Implementation (0.0.6)": - "gRPC-C++/Interface (= 0.0.6)" - gRPC-Core (= 1.17.0) - nanopb (~> 0.3) - "gRPC-C++/Interface (0.0.6)" - gRPC-Core (1.17.0): - gRPC-Core/Implementation (= 1.17.0) - gRPC-Core/Interface (= 1.17.0) - gRPC-Core/Implementation (1.17.0): - BoringSSL-GRPC (= 0.0.2) - gRPC-Core/Interface (= 1.17.0) - nanopb (~> 0.3) - gRPC-Core/Interface (1.17.0) - GTMSessionFetcher/Core (1.2.2) - leveldb-library (1.22) - MerryPhotoViewer (3.0.1): - NYTPhotoViewer - React - nanopb (0.3.901): - nanopb/decode (= 0.3.901) - nanopb/encode (= 0.3.901) - nanopb/decode (0.3.901) - nanopb/encode (0.3.901) - NYTPhotoViewer (2.0.0): - NYTPhotoViewer/AnimatedGifSupport (= 2.0.0) - NYTPhotoViewer/Core (= 2.0.0) - NYTPhotoViewer/AnimatedGifSupport (2.0.0): - FLAnimatedImage (~> 1.0.12) - NYTPhotoViewer/Core - NYTPhotoViewer/Core (2.0.0) - Protobuf (3.9.0) - QBImagePickerController (3.4.0) - React (0.59.9): - React/Core (= 0.59.9) - react-native-camera (2.2.2): - React - react-native-camera/RCT (= 2.2.2) - react-native-camera/RN (= 2.2.2) - react-native-camera/RCT (2.2.2): - React - react-native-camera/RN (2.2.2): - React - react-native-fast-image (6.1.1): - React - SDWebImage (~> 5.0) - react-native-image-resizer (1.0.0): - React - react-native-keep-awake (4.0.0): - React - react-native-orientation-locker (1.0.22): - React - react-native-video (4.4.4): - React - react-native-video/Video (= 4.4.4) - react-native-video/Video (4.4.4): - React - react-native-webview (5.12.0): - React - React/Core (0.59.9): - yoga (= 0.59.9.React) - React/fishhook (0.59.9) - React/RCTActionSheet (0.59.9): - React/Core - React/RCTAnimation (0.59.9): - React/Core - React/RCTBlob (0.59.9): - React/Core - React/RCTGeolocation (0.59.9): - React/Core - React/RCTImage (0.59.9): - React/Core - React/RCTNetwork - React/RCTLinkingIOS (0.59.9): - React/Core - React/RCTNetwork (0.59.9): - React/Core - React/RCTSettings (0.59.9): - React/Core - React/RCTText (0.59.9): - React/Core - React/RCTVibration (0.59.9): - React/Core - React/RCTWebSocket (0.59.9): - React/Core - React/fishhook - React/RCTBlob - rn-fetch-blob (0.10.6): - React/Core - RNAudio (4.3.0): - React - RNDeviceInfo (2.1.2): - React - RNFirebase (5.4.2): - Firebase/Core - React - RNFS (2.13.3): - React - RNGestureHandler (1.3.0): - React - RNGoogleSignin (1.0.2): - GoogleSignIn - React - RNImageCropPicker (0.21.3): - QBImagePickerController - React/Core - RSKImageCropper - RNSha256 (1.2.3): - React - RNSVG (8.0.11): - React - RNVectorIcons (6.6.0): - React - RSKImageCropper (2.2.3) - SDWebImage (5.0.6): - SDWebImage/Core (= 5.0.6) - SDWebImage/Core (5.0.6) - yoga (0.59.9.React) DEPENDENCIES: - Crashlytics (~> 3.12.0) - Fabric (~> 1.9.0) - FacebookSDK (~> 4.38.0) - FBSDKCoreKit (~> 4.38.0) - FBSDKLoginKit (~> 4.38.0) - FBSDKShareKit (~> 4.38.0) - Firebase/Auth (~> 5.20.1) - Firebase/Core (~> 5.20.1) - Firebase/Database (~> 5.20.1) - Firebase/DynamicLinks (~> 5.20.1) - Firebase/Firestore (~> 5.20.1) - Firebase/Messaging (~> 5.20.1) - Firebase/Performance (~> 5.20.1) - Firebase/Storage (~> 5.20.1) - FirebaseAnalyticsInterop (= 1.2.0) - GoogleAppMeasurement (= 5.8.1) - GoogleSignIn (= 4.4.0) - "MerryPhotoViewer (from `../node_modules/@merryjs/photo-viewer`)" - NYTPhotoViewer (from `https://github.com/NYTimes/NYTPhotoViewer.git`, branch `master`) - react-native-camera (from `../node_modules/react-native-camera`) - react-native-fast-image (from `../node_modules/react-native-fast-image`) - react-native-image-resizer (from `../node_modules/react-native-image-resizer`) - react-native-keep-awake (from `../node_modules/react-native-keep-awake`) - react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`) - react-native-video (from `../node_modules/react-native-video`) - react-native-webview (from `../node_modules/react-native-webview`) - React/Core (from `../node_modules/react-native`) - React/RCTActionSheet (from `../node_modules/react-native`) - React/RCTAnimation (from `../node_modules/react-native`) - React/RCTGeolocation (from `../node_modules/react-native`) - React/RCTImage (from `../node_modules/react-native`) - React/RCTLinkingIOS (from `../node_modules/react-native`) - React/RCTNetwork (from `../node_modules/react-native`) - React/RCTSettings (from `../node_modules/react-native`) - React/RCTText (from `../node_modules/react-native`) - React/RCTVibration (from `../node_modules/react-native`) - React/RCTWebSocket (from `../node_modules/react-native`) - rn-fetch-blob (from `../node_modules/rn-fetch-blob`) - RNAudio (from `../node_modules/react-native-audio`) - RNDeviceInfo (from `../node_modules/react-native-device-info`) - RNFirebase (from `../node_modules/react-native-firebase/ios`) - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNGoogleSignin (from `../node_modules/react-native-google-signin`) - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) - RNSha256 (from `../node_modules/react-native-sha256`) - RNSVG (from `../node_modules/react-native-svg`) - RNVectorIcons (from `../node_modules/react-native-vector-icons`) - SDWebImage (= 5.0.6) - yoga (from `../node_modules/react-native/ReactCommon/yoga/yoga.podspec`) SPEC REPOS: https://github.com/cocoapods/specs.git: - Bolts - BoringSSL-GRPC - Crashlytics - Fabric - FacebookSDK - FBSDKCoreKit - FBSDKLoginKit - FBSDKMarketingKit - FBSDKShareKit - Firebase - FirebaseABTesting - FirebaseAnalytics - FirebaseAnalyticsInterop - FirebaseAuth - FirebaseAuthInterop - FirebaseCore - FirebaseDatabase - FirebaseDynamicLinks - FirebaseFirestore - FirebaseInstanceID - FirebaseMessaging - FirebasePerformance - FirebaseRemoteConfig - FirebaseStorage - FLAnimatedImage - GoogleAppMeasurement - GoogleSignIn - GoogleToolboxForMac - GoogleUtilities - "gRPC-C++" - gRPC-Core - GTMSessionFetcher - leveldb-library - nanopb - Protobuf - QBImagePickerController - RSKImageCropper - SDWebImage EXTERNAL SOURCES: MerryPhotoViewer: :path: "../node_modules/@merryjs/photo-viewer" NYTPhotoViewer: :branch: master :git: https://github.com/NYTimes/NYTPhotoViewer.git React: :path: "../node_modules/react-native" react-native-camera: :path: "../node_modules/react-native-camera" react-native-fast-image: :path: "../node_modules/react-native-fast-image" react-native-image-resizer: :path: "../node_modules/react-native-image-resizer" react-native-keep-awake: :path: "../node_modules/react-native-keep-awake" react-native-orientation-locker: :path: "../node_modules/react-native-orientation-locker" react-native-video: :path: "../node_modules/react-native-video" react-native-webview: :path: "../node_modules/react-native-webview" rn-fetch-blob: :path: "../node_modules/rn-fetch-blob" RNAudio: :path: "../node_modules/react-native-audio" RNDeviceInfo: :path: "../node_modules/react-native-device-info" RNFirebase: :path: "../node_modules/react-native-firebase/ios" RNFS: :path: "../node_modules/react-native-fs" RNGestureHandler: :path: "../node_modules/react-native-gesture-handler" RNGoogleSignin: :path: "../node_modules/react-native-google-signin" RNImageCropPicker: :path: "../node_modules/react-native-image-crop-picker" RNSha256: :path: "../node_modules/react-native-sha256" RNSVG: :path: "../node_modules/react-native-svg" RNVectorIcons: :path: "../node_modules/react-native-vector-icons" yoga: :path: "../node_modules/react-native/ReactCommon/yoga/yoga.podspec" CHECKOUT OPTIONS: NYTPhotoViewer: :commit: 533a1fa40d0d4d518df737b76318715408050b74 :git: https://github.com/NYTimes/NYTPhotoViewer.git SPEC CHECKSUMS: Bolts: ac6567323eac61e203f6a9763667d0f711be34c8 BoringSSL-GRPC: 2a230d9cd93e7ce39916044f645cebb31f37dde6 Crashlytics: 07fb167b1694128c1c9a5a5cc319b0e9c3ca0933 Fabric: f988e33c97f08930a413e08123064d2e5f68d655 FacebookSDK: 73f54b8b94e09b05647cdef0af147f470cd3edc6 FBSDKCoreKit: 8d47857400e2f5bdea697a80daff882e91c84ef6 FBSDKLoginKit: 4621c690d9dd8628031a4791497062183ea34b0d FBSDKMarketingKit: e609f39d74ab273cf52e2f8b7e8829ed412b2827 FBSDKShareKit: 6ffe22f0a0618eb7424d4104ab0ef3ce9643d42a Firebase: 0c8cf33f266410c61ab3e2265cfa412200351d9c FirebaseABTesting: 1f50b8d50f5e3469eea54e7463a7b7fe221d1f5e FirebaseAnalytics: ece1aa57a4f43c64d53a648b5a5e05151aae947b FirebaseAnalyticsInterop: efbe45c8385ec626e29f9525e5ebd38520dfb6c1 FirebaseAuth: dd7bbf03a5aee0eafb3a1aee4d2812bd74bac890 FirebaseAuthInterop: 0ffa57668be100582bb7643d4fcb7615496c41fc FirebaseCore: f1a9a8be1aee4bf71a2fc0f4096df6788bdfda61 FirebaseDatabase: 2c15b0ea6f2c6eb5e57413f9d6340f1e50b81ae3 FirebaseDynamicLinks: f7a8717e2c7ea652923882a2d60b0045d6fd99d5 FirebaseFirestore: faca891c0f0d1d6c10c793473e2f6a29d75014b5 FirebaseInstanceID: a122b0c258720cf250551bb2bedf48c699f80d90 FirebaseMessaging: 4235f949ce1c4e827aeb19705ba5c53f9b85aa10 FirebasePerformance: 25ecee2a260bcf398d7f32d6f4804438df953100 FirebaseRemoteConfig: 7e11c65f0769c09bff6947997c209515058c5318 FirebaseStorage: 6162ef4322502b818d9de0ec552f5226d283de43 FLAnimatedImage: 4a0b56255d9b05f18b6dd7ee06871be5d3b89e31 GoogleAppMeasurement: ffe513e90551844a739e7bcbb1d2aca1c28a4338 GoogleSignIn: 7ff245e1a7b26d379099d3243a562f5747e23d39 GoogleToolboxForMac: b3553629623a3b1bff17f555e736cd5a6d95ad55 GoogleUtilities: 04fce34bcd5620c1ee76fb79172105c74a4df335 "gRPC-C++": e76441995900ac90e9bd98644ab4733f12521edf gRPC-Core: 4028031ed2c5267cca0d846c876d8046b1ecb9b6 GTMSessionFetcher: 61bb0f61a4cb560030f1222021178008a5727a23 leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7 MerryPhotoViewer: 76fd45056ab0a3746b4c57155e86227169330b9e nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48 NYTPhotoViewer: 34b8bd6bcc297466adec1668f9a01249d73c90e6 Protobuf: 1097ca58584c8d9be81bfbf2c5ff5975648dd87a QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022 React: a86b92f00edbe1873a63e4a212c29b7a7ad5224f react-native-camera: 6d4d176ad6b10fda0aeeeb287ed2fc8b0194b118 react-native-fast-image: fdfc612dba58fd73136cf5efdaeb8cfcad7f63b2 react-native-image-resizer: aa1600566fd336a044daf9273dcec5033c1d41ca react-native-keep-awake: eba3137546b10003361b37c761f6c429b59814ae react-native-orientation-locker: ccb550d3b1019a7cbbce0f51faa605e9e6b523cf react-native-video: 25d5aebb3c9d7cdefe7a909306c7ab40be4a892c react-native-webview: 26d8993b090ca5d59eb9a9466dcb8291baa3223e rn-fetch-blob: 766f85cabd2992300dfa1be2bc9e4e258abc6f04 RNAudio: cae2991f2dccb75163f260b60da8051717b959fa RNDeviceInfo: fd8296de6fca8b743cdc499b896f48e8a9f1faf5 RNFirebase: 891477280514b0cef3225cc48709cabedd192d5e RNFS: c9bbde46b0d59619f8e7b735991c60e0f73d22c1 RNGestureHandler: 5329a942fce3d41c68b84c2c2276ce06a696d8b0 RNGoogleSignin: 361174d9a3090d295b06257162b560d8efc8a6ed RNImageCropPicker: 754299983d07c450aec0834c0efe0ed114131ff3 RNSha256: 6fe8087682400f376fd78bd7d24222f0ec8ef968 RNSVG: c3d27cf99f8484d3d8f8bb017b5438fd321267cf RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4 RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a SDWebImage: 920f1a2ff1ca8296ad34f6e0510a1ef1d70ac965 yoga: 03ff42a6f223fb88deeaed60249020d80c3091ee PODFILE CHECKSUM: e72b28149c347933e09a4f6f1cec28ced98357ea COCOAPODS: 1.7.5 ```
visumickey commented 5 years ago

Thanks @Strate. Will try reproducing with this combination.

willsbor commented 5 years ago

@visumickey

  1. Any instance of these crashes happening only on the latest build of the App (After updating to the latest version of Firebase)? (We are trying to ascertain if this is occurring only on the latest version. Our understanding based on the comments above is NO).

after the version which we face this issue, we release a new version. but we doesn't change the Firebase version. So we still see the crash report on crashlytics. and we do not see any errors in Crashlytics from previous app builds.

  1. Have the crashes started showing only from Sep 13th? (Trying to narrow down the date range)

螢幕快照 2019-09-18 下午3 59 22 our time zone is +8:00

  1. Has the volume of crashes slowed down or is that still in the same range? (Trying to make sure if this is not sporadic).

I'm not sure.

  1. Apart from iOS 9 and iOS 10, do we have any insights on the kind of devices where this issue is more dominant? (Helps us to reproduce the issue).

螢幕快照 2019-09-18 下午4 01 00

Thanks 🙏

ChristianVinterly commented 5 years ago

@morganchen12 Sure, I can create another issue. But it has the exact same stack trace in Protobuf, even if call site from your framework is different.

willsbor commented 5 years ago

@visumickey

Another information...

in Sep 12, we released a version 2.36.1, but it had a crash issue (not this). so we fixed it and released a version 2.36.2 in Sep 13. This version just fix a bug without changing Podfile / Podfile.lock.

the result is "2.36.1 didn't face this crash issue, but 2.36.2 has this crash." (These two versions are separated by 1 to 2 days.)

I'm not sure what happened between the fix and Firebase. But that fix is modifying object creating timing. 🙏

paulb777 commented 5 years ago

Thanks for sharing the device information.

Given the device information we've seen so far, it seems that this is a 32-bit device only crash. Has anyone seen this on a 64-bit device?

The crash occurs converting a stream to a double, so it could be an unaligned access error. It's still totally a mystery to me why this just started occurring recently.

paulb777 commented 5 years ago

I've reproduced the crash on an iPhone 5c with the Firestore quickstart app. It crashes every time when building in release mode.

paulb777 commented 5 years ago

I found a workaround:

Update the GPBConvertInt64ToDouble function in . ./Pods/Protobuf/objectivec/GPBUtilities_PackagePrivate.h as follows with the volatile:

GPB_INLINE double GPBConvertInt64ToDouble(int64_t v) { volatile union { double f; int64_t i; } u; u.i = v; return u.f; }

Here's my best guess rationale:

There's an optimizer bug such that the compiler does not properly honor the alignment restrictions of an inline function that can result in an unaligned exception when accessing 64 bit data on a 32 bit processor.

I suspect the bug has been there a while, but has been exposed by a recent backend protocol buffers change.

We'll follow up with the Protocol Buffers team on a fix.

paulb777 commented 5 years ago

And here's a workaround that won't impact 64-bit performance:

GPB_INLINE double GPBConvertInt64ToDouble(int64_t v) {
#if __LP64__
  union { double f; int64_t i; } u;
#else
  volatile union { double f; int64_t i; } u;
#endif
  u.i = v;
  return u.f;
}
neilmorton commented 5 years ago

@paulb777 That is great that you managed to reproduce and resolve. Are you releasing an urgent update? and if so, when do you expect? (Will it be an emergency release?) Or are we better to patch with this ourselves? Thanks.

paulb777 commented 5 years ago

@neilmorton The patch timeline is still TBD. Since the crash is in a Firebase dependency and not in Firebase itself, we need to coordinate the fix and release with the Protobuf team. Also, we don't yet understand what made this bug all of a sudden occur starting last week.

It would also be helpful if others could reproduce with a release configuration build running on a 32 bit device and then verify the workaround.

neilmorton commented 5 years ago

@paulb777 Thanks for the clarification.

Unfortunately I haven't got anyone I can reach out to with a 32 bit device.

How confident are you in this fix? (Only asking before we start adding it manually!). Thanks.

paulb777 commented 5 years ago

I'm confident adding the volatile fixes the crash in the Firestore quickstart and it seems likely that it should fix any similar crashes.

However, given that we don't yet fully understand the root causes, there is still some uncertainty.

In summary, I would recommend that anyone using FirebaseFirestore or FirebasePerformance who cares about 32-bit device support to ship an update with the patch, ideally after verification if you can access a 32-bit device.

The patch should be a no-op for 64-bit devices and fix a likely crash for 32-bit devices.

freezy7 commented 5 years ago

@paulb777 is you release ipa have a bitcode option YES, I guess it is the bitcode option cause, I have the same issue, and I have not updated the SDK.

freezy7 commented 5 years ago

@fangyuxi did you release your app with a bitcode option?

fangyuxi commented 5 years ago

@freezy7 YES

freezy7 commented 5 years ago

@fangyuxi I think it is caused by uploading ipa to App Connect and choosing rebuild with bicode. I think I can try not to select this option first, but it takes a certain amount of time to submit the review. I have not tried it yet.

fangyuxi commented 5 years ago

@freezy7 可能不是bitcode的原因。还是别试了。

Strate commented 5 years ago

@paulb777 thank you for workaround. I confirm that this fixes crash on iPhone 5 device for my app.

fangyuxi commented 5 years ago

@Strate Hello, Do I need to update my app or Firebase to fix this Crash ?

Strate commented 5 years ago

@fagyuxi I applied workaround manually and built new version of app to AppStore

paulb777 commented 5 years ago

We're continuing to investigate. The initial proposed Protobuf PR (see above) still causes an alignment exception. The best known workaround is still to use the volatile change documented above.

Also, even though the initial bug report says Xcode 10 was used, we're only able to reproduce with Xcode 11 builds. Is anyone else seeing the issue from an Xcode 10 build?

neilmorton commented 5 years ago

@paulb777 I saw one instance in an app which was dated around the 8th and was on an Xcode 10 build. But looking now I can't see it in Fabric. So, I think it may have been an anomaly. The rest of mine were with Xcode 11.

Strate commented 5 years ago

@paulb777 I use xCode 10 right now. Can confirm crash & workaround.

Nishant-goibibo commented 5 years ago

Yes, we are getting this issue with Xcode 10.2.1 also.

Nishant-goibibo commented 5 years ago

We are getting same crash on iOS 11 and 12 with 64 Bit Devices.

simonbengtsson commented 5 years ago

Our production build that crashes is built with Xcode 10.3. We don't have any builds in production with Xcode 11 yet.

thomasvl commented 5 years ago

We are getting same crash on iOS 11 and 12 with 64 Bit Devices.

@Nishant-goibibo what specific device? I didn't think arm64 had unaligned memory issues. Or are you maybe build 32bit only and running that on arm64?

paulb777 commented 5 years ago

The protobuf fix is in progress at https://github.com/protocolbuffers/protobuf/pull/6678

alexanderkhitev commented 5 years ago

hey everyone! when will be update?

paulb777 commented 5 years ago

Protobuf 3.9.2 has now been published to CocoaPods with the fix.

pod update to pick it up.

paulb777 commented 5 years ago

Thanks to everyone who contributed to this thread with backtraces and detailed crash information that helped us track this one down!

datalogen commented 5 years ago

@paulb777 any timeline for a carthage update including the fix?

paulb777 commented 5 years ago

@datalogen Are you seeing the crash with a Carthage distribution?

datalogen commented 5 years ago

@paulb777 Yes, we are seeing a similar crash with a Carthage distribution. We have quite a few customers running on older devices - iOS 9 and 10.

Crashed: com.google.firebase.firestore 0 DomainServices 0x102f91c GPBCodedInputStreamReadDouble + 19 1 DomainServices 0x102f915 GPBCodedInputStreamReadDouble + 12 2 DomainServices 0x105b135 -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 9112 3 DomainServices 0x1030315 -[GPBCodedInputStream readMessage:extensionRegistry:] + 1406 4 DomainServices 0x1036e33 ReadValue + 1148 5 DomainServices 0x1036a93 GPBDictionaryReadEntry + 220 6 DomainServices 0x103039d -[GPBCodedInputStream readMapEntry:extensionRegistry:field:parentMessage:] + 1542 7 DomainServices 0x105b0ab -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 8974 8 DomainServices 0x1030315 -[GPBCodedInputStream readMessage:extensionRegistry:] + 1406 9 DomainServices 0x105b2b3 -[GPBMessage mergeFromCodedInputStream:extensionRegistry:] + 9494 10 DomainServices 0x105a7ab -[GPBMessage mergeFromData:extensionRegistry:] + 6670 11 DomainServices 0x1057e99 -[GPBMessage initWithData:extensionRegistry:error:] + 768 12 DomainServices 0x105a87f +[GPBMessage parseFromData:extensionRegistry:error:] + 6882 13 DomainServices 0x105a849 +[GPBMessage parseFromData:error:] + 6828 14 DomainServices 0xcb2669 firebase::firestore::local::LevelDbRemoteDocumentCache::DecodeMaybeDocument(absl::string_view, firebase::firestore::model::DocumentKey const&) + 200 15 DomainServices 0xcb2fcf firebase::firestore::local::LevelDbRemoteDocumentCache::GetMatching(firebase::firestore::core::Query const&) + 370 16 DomainServices 0xcb6e55 firebase::firestore::local::LocalDocumentsView::GetDocumentsMatchingCollectionQuery(firebase::firestore::core::Query const&) + 44 17 DomainServices 0xcb65b1 firebase::firestore::local::LocalDocumentsView::GetDocumentsMatchingQuery(firebase::firestore::core::Query const&) + 56 18 DomainServices 0xc6bd5d -[FSTLocalStore executeQuery:] + 115832 19 DomainServices 0xc8a6ef -[FSTSyncEngine initializeViewAndComputeSnapshotForQueryData:] + 241162 20 DomainServices 0xc89ffd -[FSTSyncEngine listenToQuery:] + 239384 21 DomainServices 0xc1baef firebase::firestore::core::EventManager::AddQueryListener(std::1::shared_ptr) + 754 22 DomainServices 0xc44fdd std::1::function::func<firebase::firestore::core::FirestoreClient::ListenToQuery(firebase::firestore::core::Query, firebase::firestore::core::ListenOptions, std::1::shared_ptr<firebase::firestore::core::EventListener >&&)::$_11, std::1::allocator<firebase::firestore::core::FirestoreClient::ListenToQuery(firebase::firestore::core::Query, firebase::firestore::core::ListenOptions, std::1::shared_ptr<firebase::firestore::core::EventListener >&&)::$_11>, void ()>::operator()() + 21996 23 DomainServices 0xbfa9bd firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::1::function<void ()> const&) + 112 24 DomainServices 0xc1e3b3 firebase::firestore::util::internal::DispatchAsync(NSObject*, std::1::function<void ()>&&)::$_0::invoke(void*) + 474 25 libdispatch.dylib 0x1dff659d _dispatch_queue_serial_drain + 854 26 libdispatch.dylib 0x1dfecb71 _dispatch_queue_invoke + 886 27 libdispatch.dylib 0x1dff6a1f _dispatch_queue_override_invoke + 282 28 libdispatch.dylib 0x1dff81b5 _dispatch_root_queue_drain + 326 29 libdispatch.dylib 0x1dff800f _dispatch_worker_thread3 + 106 30 libsystem_pthread.dylib 0x1e19e87d _pthread_wqthread + 1040 31 libsystem_pthread.dylib 0x1e19e45c start_wqthread + 8

datalogen commented 5 years ago

@paulb777 Debug builds are not showing the issue - release builds however are consistently crashing on my 32-bit device running iOS 9.3.5.

paulb777 commented 5 years ago

Thanks @datalogen. The fix will be included in the Firebase 6.9.0 Carthage (and zip) release that is planned to go out early in the week.

patrickmarshall commented 5 years ago

Hello, We have release our apps since september 27th and the problem doesn't seems to be appear anymore. We just want to say thanks to @paulb777 @visumickey and other google team that help to fixed this issue.