firebase-unity-sdk icon indicating copy to clipboard operation
firebase-unity-sdk copied to clipboard

[Bug] FireStore - iOS 12 crash on fetch data

Open rameshporeddy opened this issue 1 year ago • 5 comments

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2020.3.41f1
  • Firebase Unity SDK version: v11.3, v11.0
  • Source you installed the SDK: .unitypackage
  • Problematic Firebase Component: Firestore
  • Other Firebase Components in use: Auth, Crashlytics, Analytics,Installations
  • Additional SDKs you are using: Ironsource,facebook
  • Platform you are using the Unity editor on: Mac
  • Platform you are targeting: iOS, Android
  • Scripting Runtime: IL2CPP
  • Pre-built SDK from the website or open-source from this repo: this repo

Downgrading to v10.2.0 is working properly

[REQUIRED] Please describe the issue here:

0  grpcpp +0x4f18                  0x4f18 (0x4ea8 + 112)
1  grpcpp +0x2b1a4                 0x2b1a4 (0x2b18c + 24)
2  grpcpp +0x2b2e8                 0x2b2e8 (0x2b2d8 + 16)
3  FirebaseFirestore +0x905e4      firebase::firestore::remote::GrpcConnection::CreateChannel() const
4  FirebaseFirestore +0x9034c      firebase::firestore::remote::GrpcConnection::EnsureActiveStub()
5  FirebaseFirestore +0x90a90      firebase::firestore::remote::GrpcConnection::CreateStream(absl::lts_20220623::string_view, firebase::firestore::credentials::AuthToken const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, firebase::firestore::remote::GrpcStreamObserver*)
6  FirebaseFirestore +0x136290     firebase::firestore::remote::Stream::ResumeStartWithCredentials(firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
7  FirebaseFirestore +0x137954     0x137954 (0x137910 + 68)
8  FirebaseFirestore +0x8258       firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&)
9  FirebaseFirestore +0x14841c     firebase::firestore::util::Task::ExecuteAndRelease()
10 libdispatch.dylib +0x607d0      __dispatch_client_callout
11 libdispatch.dylib +0x9320       __dispatch_lane_serial_drain$VARIANT$mp
12 libdispatch.dylib +0x9e3c       __dispatch_lane_invoke$VARIANT$mp
13 libdispatch.dylib +0x124a8      __dispatch_workloop_worker_thread
14 libsystem_pthread.dylib +0xc110 __pthread_wqthread

Steps to reproduce:

App is getting crashed on calling GetSnapshotAsync() on iOS devices

rameshporeddy avatar Sep 01 '23 11:09 rameshporeddy

Drive-by comment: This is another instance of https://github.com/firebase/firebase-ios-sdk/issues/11509. This is a suspected race condition but the Firestore team has not had success reproducing it. @rameshporeddy are you able to reliably reproduce this crash? If so, would you be able to reproduce under thread sanitizer and address sanitizer? If those sanitizers discover anything they will very likely be extremely helpful. Xcode instructions for the sanitizers are documented at https://developer.apple.com/documentation/xcode/diagnosing-memory-thread-and-crash-issues-early

dconeybe avatar Sep 01 '23 14:09 dconeybe

@dconeybe I had to buy an iPad Mini 2 which only supports the latest 12.5.7 it crashes when it tries to perform the login, let me know if you need more information.

victors1681 avatar Sep 06 '23 00:09 victors1681

@victors1681 That's fantastic! Can you rebuild your app with thread sanitizer and reproduce? See more instructions in my previous comment: https://github.com/firebase/firebase-unity-sdk/issues/851#issuecomment-1702809660

dconeybe avatar Sep 06 '23 01:09 dconeybe

Hi @dconeybe we noticed there was movement on the Firestore iOS repo, to fix this issue. https://github.com/firebase/firebase-ios-sdk/issues/11509

We tried updating to the latest Firebase Unity SDK (11.6.0) but it still crashes. We noticed that it still refers to 10.15.0 Cocoapods

is there an ETA for a fix for the Unity SDKs? Manually upgrading the Cocoapods to refer to 10.16.0 does not work either.

Edit : oddly, the README.md of Unity 11.6.0 mentions it's updated to Cocoapods 10.16.0, but none of the individual dependencies seem to reference it.

11.6.0

  • Changes
    • General: Update to Firebase C++ SDK version 11.6.0. - General (iOS): Update to Firebase Cocoapods version 10.16.0.
    • App Check: Fixed a crash when there are errors creating a provider. (#877)

khambadkone avatar Dec 07 '23 17:12 khambadkone

@khambadkone My apologies that the 11.6.0 Unity SDK release did not upgrade its dependencies on the firebase-ios-sdk, and still suffers from that bug you linked to. We don't have a workaround for now, but the next release of the Unity SDK will include the upgraded dependency (barring any prohibitively-difficult technical issues). We don't typically give ETAs for releases, but the next Unity SDK release is planned for mid-late January 2024.

dconeybe avatar Dec 08 '23 21:12 dconeybe

Hi folks, I believe the fix for this has been released, so I'll go ahead and close this thread. Let me know if this issue is still present and needs to be reopened. Thanks!

argzdev avatar May 06 '24 14:05 argzdev