firebase-ios-sdk: Protobuf crash on 32-bit devices in PHTFlatFilePhenotype and Firestore (leveldb)
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)
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 12
- Comments: 95 (26 by maintainers)
Commits related to this issue
- [ObjC] Don't use unions and instead use memcpy for the type swaps. The code in question hasn't change in a long time so the cause of https://github.com/firebase/firebase-ios-sdk/issues/3851 still app... — committed to thomasvl/protobuf by thomasvl 5 years ago
- [ObjC] Don't use unions and instead use memcpy for the type swaps. (#6672) The code in question hasn't change in a long time so the cause of https://github.com/firebase/firebase-ios-sdk/issues/3851 ... — committed to protocolbuffers/protobuf by thomasvl 5 years ago
- [ObjC] Don't use unions and instead use memcpy for the type swaps. (#6672) The code in question hasn't change in a long time so the cause of https://github.com/firebase/firebase-ios-sdk/issues/3851 ... — committed to thomasvl/protobuf by thomasvl 5 years ago
- [ObjC] Don't use unions and instead use memcpy for the type swaps. (#6672) The code in question hasn't change in a long time so the cause of https://github.com/firebase/firebase-ios-sdk/issues/3851 ... — committed to thomasvl/protobuf by thomasvl 5 years ago
Protobuf 3.9.2 has now been published to CocoaPods with the fix.
pod updateto pick it up.Hello, We are also got same issue here. We haven’t change firebase version since 3 months ago and the problem just start occurred since September 13th. Is it possible that the problem is from BE side?
My lowest platform support is iOS 10.
@paulb777
And here’s a workaround that won’t impact 64-bit performance:
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.
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.
@paulb777 thank you for workaround. I confirm that this fixes crash on iPhone 5 device for my app.
Looking at the results from my updates to lock back to
pod 'Firebase/Core', '~> 6.5.0'as mentioned early in this thread (which only went live last night to 3 apps), I can see that (in 1 app at least), the issue is still there now I reverted to the previous version.Further, I now see that I have a previous build that was updated around 1 month ago has now got 1 single instance of this issue that is reporting as Sep 08 2019 08:06 (UTC) (iPhone 4s iOS 9.3.5).
As @ChristianVinterly & @patrickmarshall suggest, is this a backend change that has caused this?
All crashes I am seeing have been limited to iOS 9 / 10.
If this crash is suddenly happening on versions 6.2.0 - 6.8.1, on Xcode 10 and 11 GM, and for people that haven’t changed firebase version for 3 months, then it sounds like a BE issue like @patrickmarshall suggests?
Same issue here but also impacting iOS 11 and 12 users.
Firebase SDK- ‘6.7.0’
@paulb777 any timeline for a carthage update including the fix?
@visumickey
Podfile
Podilfe.lock