firebase / firebase-ios-sdk

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

Firestore crashes. Xcode 14.2, Firebase 10.3.0. CocoaPods. #10622

Closed mgrms closed 1 year ago

mgrms commented 1 year ago

Description

Hello,

After upgrading to Xcode 14.2 (from 13.x.x) and Firebase 10.3.0 (from 8.15.0), we started seeing following crashes in Crashlytics:

  1. This one is the most frequent.
Crashed: com.google.firebase.firestore
0  libsystem_kernel.dylib         0x7b38 __pthread_kill + 8
1  libsystem_pthread.dylib        0x73bc pthread_kill + 268
2  libsystem_c.dylib              0x20524 abort + 168
3  grpc                           0x1d9de8 grpc_event_engine_init() + 352
4  grpc                           0x2d403c iomgr_platform_init() + 20
5  grpc                           0x2d3cb0 grpc_iomgr_platform_init() + 24
6  grpc                           0x2d34b8 grpc_iomgr_init() + 184
7  grpc                           0x2c8cd8 grpc_init + 212
8  grpcpp                         0x5c50 grpc::internal::GrpcLibrary::init() + 20
9  FirebaseFirestore              0x90538 grpc::GrpcLibraryCodegen::GrpcLibraryCodegen(bool) + 208
10 FirebaseFirestore              0x90380 grpc::CompletionQueue::CompletionQueue(grpc_completion_queue_attributes const&) + 56
11 FirebaseFirestore              0x90338 grpc::CompletionQueue::CompletionQueue(grpc_completion_queue_attributes const&) + 36
12 FirebaseFirestore              0x8d080 grpc::CompletionQueue::CompletionQueue() + 52
13 FirebaseFirestore              0x8cd58 firebase::firestore::remote::Datastore::Datastore(firebase::firestore::core::DatabaseInfo const&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue> 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> > > >, firebase::firestore::remote::ConnectivityMonitor*, firebase::firestore::remote::FirebaseMetadataProvider*) + 392
14 FirebaseFirestore              0x8d28c firebase::firestore::remote::Datastore::Datastore(firebase::firestore::core::DatabaseInfo const&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue> 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> > > >, firebase::firestore::remote::ConnectivityMonitor*, firebase::firestore::remote::FirebaseMetadataProvider*) + 60
15 FirebaseFirestore              0x17bba0 std::__1::__shared_ptr_emplace<firebase::firestore::remote::Datastore, std::__1::allocator<firebase::firestore::remote::Datastore> >::__shared_ptr_emplace<firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*, firebase::firestore::remote::FirebaseMetadataProvider*>(std::__1::allocator<firebase::firestore::remote::Datastore>, firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*&&, firebase::firestore::remote::FirebaseMetadataProvider*&&) + 260
16 FirebaseFirestore              0x17b7a0 std::__1::__shared_ptr_emplace<firebase::firestore::remote::Datastore, std::__1::allocator<firebase::firestore::remote::Datastore> >::__shared_ptr_emplace<firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*, firebase::firestore::remote::FirebaseMetadataProvider*>(std::__1::allocator<firebase::firestore::remote::Datastore>, firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*&&, firebase::firestore::remote::FirebaseMetadataProvider*&&) + 76
17 FirebaseFirestore              0x17b60c std::__1::shared_ptr<firebase::firestore::remote::Datastore> std::__1::allocate_shared<firebase::firestore::remote::Datastore, std::__1::allocator<firebase::firestore::remote::Datastore>, firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*, firebase::firestore::remote::FirebaseMetadataProvider*, void>(std::__1::allocator<firebase::firestore::remote::Datastore> const&, firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*&&, firebase::firestore::remote::FirebaseMetadataProvider*&&) + 180
18 FirebaseFirestore              0x16aa6c std::__1::shared_ptr<firebase::firestore::remote::Datastore> std::__1::make_shared<firebase::firestore::remote::Datastore, firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*, firebase::firestore::remote::FirebaseMetadataProvider*, void>(firebase::firestore::core::DatabaseInfo&, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>&, 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> > > >&, firebase::firestore::remote::ConnectivityMonitor*&&, firebase::firestore::remote::FirebaseMetadataProvider*&&) + 160
19 FirebaseFirestore              0x16a144 firebase::firestore::core::FirestoreClient::Initialize(firebase::firestore::credentials::User const&, firebase::firestore::api::Settings const&) + 1088
20 FirebaseFirestore              0x17809c 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)::'lambda'()::operator()() const + 48
21 FirebaseFirestore              0x17804c 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)::'lambda'()&>(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)::'lambda'()&>(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)::'lambda'()&) + 24
22 FirebaseFirestore              0x178004 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)::'lambda'()&>(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)::'lambda'()&) + 28
23 FirebaseFirestore              0x177fdc 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)::'lambda'(), 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)::'lambda'()>, void ()>::operator()() + 28
24 FirebaseFirestore              0x176a20 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)::'lambda'(), 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)::'lambda'()>, void ()>::operator()() + 28
25 FirebaseFirestore              0xf64c std::__1::__function::__value_func<void ()>::operator()() const + 60
26 FirebaseFirestore              0xc7b4 std::__1::function<void ()>::operator()() const + 24
27 FirebaseFirestore              0xc774 firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 176
28 FirebaseFirestore              0x11df8 firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0::operator()() const + 32
29 FirebaseFirestore              0x11db8 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
30 FirebaseFirestore              0x11d70 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
31 FirebaseFirestore              0x11d48 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
32 FirebaseFirestore              0x108a0 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
33 FirebaseFirestore              0xf64c std::__1::__function::__value_func<void ()>::operator()() const + 60
34 FirebaseFirestore              0xc7b4 std::__1::function<void ()>::operator()() const + 24
35 FirebaseFirestore              0x4e6dd8 firebase::firestore::util::Task::ExecuteAndRelease() + 172
36 FirebaseFirestore              0x105764 firebase::firestore::util::ExecutorLibdispatch::InvokeAsync(void*) + 32
37 libdispatch.dylib              0x3a30 _dispatch_client_callout + 20
38 libdispatch.dylib              0xb124 _dispatch_lane_serial_drain + 668
39 libdispatch.dylib              0xbc80 _dispatch_lane_invoke + 392
40 libdispatch.dylib              0x16500 _dispatch_workloop_worker_thread + 648
41 libsystem_pthread.dylib        0x10bc _pthread_wqthread + 288
42 libsystem_pthread.dylib        0xe5c start_wqthread + 8

2.

Crashed: com.google.firebase.crashlytics.ios.exception
0  FirebaseCrashlytics            0x322fc FIRCLSProcessGetThreadState + 300
1  FirebaseCrashlytics            0x3170c FIRCLSProcessRecordThread + 400
2  FirebaseCrashlytics            0x3149c FIRCLSProcessRecordAllThreads + 168
3  FirebaseCrashlytics            0x22b08 FIRCLSHandler + 64
4  FirebaseCrashlytics            0x19b18 __FIRCLSExceptionRecord_block_invoke + 172
5  libdispatch.dylib              0x3a30 _dispatch_client_callout + 20
6  libdispatch.dylib              0x12c90 _dispatch_lane_barrier_sync_invoke_and_complete + 56
7  FirebaseCrashlytics            0x17f00 FIRCLSExceptionRecord + 340
8  FirebaseCrashlytics            0x19ee4 FIRCLSCatchAndRecordActiveException(std::type_info*) + 488
9  FirebaseCrashlytics            0x17aa8 FIRCLSTerminateHandler() + 296
10 libc++abi.dylib                0x10f18 std::__terminate(void (*)()) + 20
11 libc++abi.dylib                0x10eb4 std::terminate() + 64
12 grpc                           0x8498 __clang_call_terminate + 10
13 grpc                           0x25b7c grpc_core::ExecCtx::~ExecCtx() + 134
14 grpc                           0x2499c grpc_core::ExecCtx::~ExecCtx() + 28
15 grpc                           0x6368c grpc_call_start_batch + 236
16 grpcpp                         0x6a66c grpc::CoreCodegen::grpc_call_start_batch(grpc_call*, grpc_op const*, unsigned long, void*, void*) + 60
17 FirebaseFirestore              0x2286f8 grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata, grpc::internal::CallOpSendMessage, grpc::internal::CallOpClientSendClose, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6> >::ContinueFillOpsAfterInterception() + 256
18 FirebaseFirestore              0x228540 grpc::internal::CallOpSet<grpc::internal::CallOpSendInitialMetadata, grpc::internal::CallOpSendMessage, grpc::internal::CallOpClientSendClose, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6> >::FillOps(grpc::internal::Call*) + 128
19 grpcpp                         0x55514 grpc::Channel::PerformOpsOnCall(grpc::internal::CallOpSetInterface*, grpc::internal::Call*) + 44
20 FirebaseFirestore              0x22bc4c grpc::internal::Call::PerformOps(grpc::internal::CallOpSetInterface*) + 44
21 FirebaseFirestore              0x222ef4 grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::Write(grpc::ByteBuffer const&, grpc::WriteOptions, void*) + 308
22 FirebaseFirestore              0x23a548 firebase::firestore::remote::GrpcStream::MaybeWrite(absl::lts_20211102::optional<firebase::firestore::remote::internal::BufferedWrite>) + 256
23 FirebaseFirestore              0x23a410 firebase::firestore::remote::GrpcStream::Write(grpc::ByteBuffer&&) + 72
24 FirebaseFirestore              0x492764 firebase::firestore::remote::Stream::Write(grpc::ByteBuffer&&) + 196
25 FirebaseFirestore              0x52bcc8 firebase::firestore::remote::WatchStream::WatchQuery(firebase::firestore::local::TargetData const&) + 320
26 FirebaseFirestore              0x462ae8 firebase::firestore::remote::RemoteStore::SendWatchRequest(firebase::firestore::local::TargetData const&) + 88
27 FirebaseFirestore              0x462ed8 firebase::firestore::remote::RemoteStore::OnWatchStreamOpen() + 112
28 FirebaseFirestore              0x52c034 firebase::firestore::remote::WatchStream::NotifyStreamOpen() + 36
29 FirebaseFirestore              0x49189c firebase::firestore::remote::Stream::OnStreamStart() + 68
30 FirebaseFirestore              0x23a000 firebase::firestore::remote::GrpcStream::Start() + 108
31 FirebaseFirestore              0x4916f0 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&) + 304
32 FirebaseFirestore              0x4988c4 firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()::operator()() const + 120
33 FirebaseFirestore              0x49882c decltype(static_cast<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()&>(fp)()) std::__1::__invoke<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()&>(firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()&) + 24
34 FirebaseFirestore              0x4987e4 void std::__1::__invoke_void_return_wrapper<void, true>::__call<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()&>(firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()&) + 28
35 FirebaseFirestore              0x4987bc std::__1::__function::__alloc_func<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'(), std::__1::allocator<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()>, void ()>::operator()() + 28
36 FirebaseFirestore              0x49725c std::__1::__function::__func<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'(), std::__1::allocator<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20211102::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20211102::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()>, void ()>::operator()() + 28
37 FirebaseFirestore              0xf64c std::__1::__function::__value_func<void ()>::operator()() const + 60
38 FirebaseFirestore              0xc7b4 std::__1::function<void ()>::operator()() const + 24
39 FirebaseFirestore              0xc774 firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 176
40 FirebaseFirestore              0x11df8 firebase::firestore::util::AsyncQueue::Wrap(std::__1::function<void ()> const&)::$_0::operator()() const + 32
41 FirebaseFirestore              0x11db8 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
42 FirebaseFirestore              0x11d70 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
43 FirebaseFirestore              0x11d48 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
44 FirebaseFirestore              0x108a0 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
45 FirebaseFirestore              0xf64c std::__1::__function::__value_func<void ()>::operator()() const + 60
46 FirebaseFirestore              0xc7b4 std::__1::function<void ()>::operator()() const + 24
47 FirebaseFirestore              0x4e6dd8 firebase::firestore::util::Task::ExecuteAndRelease() + 172
48 FirebaseFirestore              0x105764 firebase::firestore::util::ExecutorLibdispatch::InvokeAsync(void*) + 32
49 libdispatch.dylib              0x3a30 _dispatch_client_callout + 20
50 libdispatch.dylib              0xb124 _dispatch_lane_serial_drain + 668
51 libdispatch.dylib              0xbc80 _dispatch_lane_invoke + 392
52 libdispatch.dylib              0x16500 _dispatch_workloop_worker_thread + 648
53 libsystem_pthread.dylib        0x10bc _pthread_wqthread + 288
54 libsystem_pthread.dylib        0xe5c start_wqthread + 8

3.

Crashed: com.google.firebase.firestore
0  libsystem_kernel.dylib         0x7b38 __pthread_kill
1  libsystem_pthread.dylib        0x73bc pthread_kill
2  libsystem_c.dylib              0x20524 abort
3  grpc                           0x1d9de8 (Missing UUID 1f9eddc8c632352bb90533a240e0ca01)
4  grpc                           0x2d403c (Missing UUID 1f9eddc8c632352bb90533a240e0ca01)
5  grpc                           0x2d3cb0 (Missing UUID 1f9eddc8c632352bb90533a240e0ca01)
6  grpc                           0x2d34b8 (Missing UUID 1f9eddc8c632352bb90533a240e0ca01)
7  grpc                           0x2c8cd8 (Missing UUID 1f9eddc8c632352bb90533a240e0ca01)
8  grpcpp                         0x5c50 (Missing UUID e677209680d235118f747d000e512b0c)
9  FirebaseFirestore              0x90538 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
10 FirebaseFirestore              0x90380 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
11 FirebaseFirestore              0x90338 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
12 FirebaseFirestore              0x8d080 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
13 FirebaseFirestore              0x8cd58 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
14 FirebaseFirestore              0x8d28c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
15 FirebaseFirestore              0x17bba0 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
16 FirebaseFirestore              0x17b7a0 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
17 FirebaseFirestore              0x17b60c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
18 FirebaseFirestore              0x16aa6c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
19 FirebaseFirestore              0x16a144 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
20 FirebaseFirestore              0x17809c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
21 FirebaseFirestore              0x17804c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
22 FirebaseFirestore              0x178004 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
23 FirebaseFirestore              0x177fdc (Missing UUID a86e69a7c1053496b7d018717f4687b5)
24 FirebaseFirestore              0x176a20 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
25 FirebaseFirestore              0xf64c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
26 FirebaseFirestore              0xc7b4 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
27 FirebaseFirestore              0xc774 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
28 FirebaseFirestore              0x11df8 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
29 FirebaseFirestore              0x11db8 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
30 FirebaseFirestore              0x11d70 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
31 FirebaseFirestore              0x11d48 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
32 FirebaseFirestore              0x108a0 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
33 FirebaseFirestore              0xf64c (Missing UUID a86e69a7c1053496b7d018717f4687b5)
34 FirebaseFirestore              0xc7b4 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
35 FirebaseFirestore              0x4e6dd8 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
36 FirebaseFirestore              0x105764 (Missing UUID a86e69a7c1053496b7d018717f4687b5)
37 libdispatch.dylib              0x3a30 _dispatch_client_callout
38 libdispatch.dylib              0xb124 _dispatch_lane_serial_drain
39 libdispatch.dylib              0xbc80 _dispatch_lane_invoke
40 libdispatch.dylib              0x16500 _dispatch_workloop_worker_thread
41 libsystem_pthread.dylib        0x10bc _pthread_wqthread
42 libsystem_pthread.dylib        0xe5c start_wqthread

Seems like these all are related to Firestore and/or grpc. We can't reproduce them when running the app from Xcode, but we see them when de-attaching device from Xcode and running the app on device directly via the app icon. The app crashes on start.

Tested on iOS 15.6, iOS 16.1 - same results. Tested on 3 different devices.

CocoaPods: 1.11.3, please find Podfile.lock attached below in this post.

Please let me know if you need any additional information.

Reproducing the issue

App crashes on start.

Firebase SDK Version

10.3.0

Xcode Version

14.2

Installation Method

CocoaPods

Firebase Product(s)

Firestore

Targeted Platforms

iOS

Relevant Log Output

No response

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml PODS: - abseil/algorithm (1.20211102.0): - abseil/algorithm/algorithm (= 1.20211102.0) - abseil/algorithm/container (= 1.20211102.0) - abseil/algorithm/algorithm (1.20211102.0): - abseil/base/config - abseil/algorithm/container (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/meta/type_traits - abseil/base (1.20211102.0): - abseil/base/atomic_hook (= 1.20211102.0) - abseil/base/base (= 1.20211102.0) - abseil/base/base_internal (= 1.20211102.0) - abseil/base/config (= 1.20211102.0) - abseil/base/core_headers (= 1.20211102.0) - abseil/base/dynamic_annotations (= 1.20211102.0) - abseil/base/endian (= 1.20211102.0) - abseil/base/errno_saver (= 1.20211102.0) - abseil/base/fast_type_id (= 1.20211102.0) - abseil/base/log_severity (= 1.20211102.0) - abseil/base/malloc_internal (= 1.20211102.0) - abseil/base/pretty_function (= 1.20211102.0) - abseil/base/raw_logging_internal (= 1.20211102.0) - abseil/base/spinlock_wait (= 1.20211102.0) - abseil/base/strerror (= 1.20211102.0) - abseil/base/throw_delegate (= 1.20211102.0) - abseil/base/atomic_hook (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/base (1.20211102.0): - abseil/base/atomic_hook - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/log_severity - abseil/base/raw_logging_internal - abseil/base/spinlock_wait - abseil/meta/type_traits - abseil/base/base_internal (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/base/config (1.20211102.0) - abseil/base/core_headers (1.20211102.0): - abseil/base/config - abseil/base/dynamic_annotations (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver (1.20211102.0): - abseil/base/config - abseil/base/fast_type_id (1.20211102.0): - abseil/base/config - abseil/base/log_severity (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/malloc_internal (1.20211102.0): - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/raw_logging_internal - abseil/base/pretty_function (1.20211102.0) - abseil/base/raw_logging_internal (1.20211102.0): - abseil/base/atomic_hook - abseil/base/config - abseil/base/core_headers - abseil/base/log_severity - abseil/base/spinlock_wait (1.20211102.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/strerror (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/throw_delegate (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/container/common (1.20211102.0): - abseil/meta/type_traits - abseil/types/optional - abseil/container/compressed_tuple (1.20211102.0): - abseil/utility/utility - abseil/container/container_memory (1.20211102.0): - abseil/base/config - abseil/memory/memory - abseil/meta/type_traits - abseil/utility/utility - abseil/container/fixed_array (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/throw_delegate - abseil/container/compressed_tuple - abseil/memory/memory - abseil/container/flat_hash_map (1.20211102.0): - abseil/algorithm/container - abseil/container/container_memory - abseil/container/hash_function_defaults - abseil/container/raw_hash_map - abseil/memory/memory - abseil/container/hash_function_defaults (1.20211102.0): - abseil/base/config - abseil/hash/hash - abseil/strings/cord - abseil/strings/strings - abseil/container/hash_policy_traits (1.20211102.0): - abseil/meta/type_traits - abseil/container/hashtable_debug_hooks (1.20211102.0): - abseil/base/config - abseil/container/hashtablez_sampler (1.20211102.0): - abseil/base/base - abseil/base/core_headers - abseil/container/have_sse - abseil/debugging/stacktrace - abseil/memory/memory - abseil/profiling/exponential_biased - abseil/profiling/sample_recorder - abseil/synchronization/synchronization - abseil/utility/utility - abseil/container/have_sse (1.20211102.0) - abseil/container/inlined_vector (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/base/throw_delegate - abseil/container/inlined_vector_internal - abseil/memory/memory - abseil/container/inlined_vector_internal (1.20211102.0): - abseil/base/core_headers - abseil/container/compressed_tuple - abseil/memory/memory - abseil/meta/type_traits - abseil/types/span - abseil/container/layout (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/strings/strings - abseil/types/span - abseil/utility/utility - abseil/container/raw_hash_map (1.20211102.0): - abseil/base/throw_delegate - abseil/container/container_memory - abseil/container/raw_hash_set - abseil/container/raw_hash_set (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/container/common - abseil/container/compressed_tuple - abseil/container/container_memory - abseil/container/hash_policy_traits - abseil/container/hashtable_debug_hooks - abseil/container/hashtablez_sampler - abseil/container/have_sse - abseil/memory/memory - abseil/meta/type_traits - abseil/numeric/bits - abseil/utility/utility - abseil/debugging/debugging_internal (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/errno_saver - abseil/base/raw_logging_internal - abseil/debugging/demangle_internal (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/debugging/stacktrace (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/debugging/debugging_internal - abseil/debugging/symbolize (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/debugging/debugging_internal - abseil/debugging/demangle_internal - abseil/strings/strings - abseil/functional/bind_front (1.20211102.0): - abseil/base/base_internal - abseil/container/compressed_tuple - abseil/meta/type_traits - abseil/utility/utility - abseil/functional/function_ref (1.20211102.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/meta/type_traits - abseil/hash/city (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/hash/hash (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/container/fixed_array - abseil/hash/city - abseil/hash/low_level_hash - abseil/meta/type_traits - abseil/numeric/int128 - abseil/strings/strings - abseil/types/optional - abseil/types/variant - abseil/utility/utility - abseil/hash/low_level_hash (1.20211102.0): - abseil/base/config - abseil/base/endian - abseil/numeric/bits - abseil/numeric/int128 - abseil/memory (1.20211102.0): - abseil/memory/memory (= 1.20211102.0) - abseil/memory/memory (1.20211102.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/meta (1.20211102.0): - abseil/meta/type_traits (= 1.20211102.0) - abseil/meta/type_traits (1.20211102.0): - abseil/base/config - abseil/numeric/bits (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/int128 (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/bits - abseil/numeric/representation (1.20211102.0): - abseil/base/config - abseil/profiling/exponential_biased (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/profiling/sample_recorder (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/synchronization/synchronization - abseil/time/time - abseil/random/distributions (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/numeric/bits - abseil/random/internal/distribution_caller - abseil/random/internal/fast_uniform_bits - abseil/random/internal/fastmath - abseil/random/internal/generate_real - abseil/random/internal/iostream_state_saver - abseil/random/internal/traits - abseil/random/internal/uniform_helper - abseil/random/internal/wide_multiply - abseil/strings/strings - abseil/random/internal/distribution_caller (1.20211102.0): - abseil/base/config - abseil/base/fast_type_id - abseil/utility/utility - abseil/random/internal/fast_uniform_bits (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/random/internal/fastmath (1.20211102.0): - abseil/numeric/bits - abseil/random/internal/generate_real (1.20211102.0): - abseil/meta/type_traits - abseil/numeric/bits - abseil/random/internal/fastmath - abseil/random/internal/traits - abseil/random/internal/iostream_state_saver (1.20211102.0): - abseil/meta/type_traits - abseil/numeric/int128 - abseil/random/internal/nonsecure_base (1.20211102.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/random/internal/pool_urbg - abseil/random/internal/salted_seed_seq - abseil/random/internal/seed_material - abseil/types/optional - abseil/types/span - abseil/random/internal/pcg_engine (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/fastmath - abseil/random/internal/iostream_state_saver - abseil/random/internal/platform (1.20211102.0): - abseil/base/config - abseil/random/internal/pool_urbg (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/random/internal/randen - abseil/random/internal/seed_material - abseil/random/internal/traits - abseil/random/seed_gen_exception - abseil/types/span - abseil/random/internal/randen (1.20211102.0): - abseil/base/raw_logging_internal - abseil/random/internal/platform - abseil/random/internal/randen_hwaes - abseil/random/internal/randen_slow - abseil/random/internal/randen_engine (1.20211102.0): - abseil/base/endian - abseil/meta/type_traits - abseil/random/internal/iostream_state_saver - abseil/random/internal/randen - abseil/random/internal/randen_hwaes (1.20211102.0): - abseil/base/config - abseil/random/internal/platform - abseil/random/internal/randen_hwaes_impl - abseil/random/internal/randen_hwaes_impl (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/int128 - abseil/random/internal/platform - abseil/random/internal/randen_slow (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/numeric/int128 - abseil/random/internal/platform - abseil/random/internal/salted_seed_seq (1.20211102.0): - abseil/container/inlined_vector - abseil/meta/type_traits - abseil/random/internal/seed_material - abseil/types/optional - abseil/types/span - abseil/random/internal/seed_material (1.20211102.0): - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/raw_logging_internal - abseil/random/internal/fast_uniform_bits - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/random/internal/traits (1.20211102.0): - abseil/base/config - abseil/random/internal/uniform_helper (1.20211102.0): - abseil/base/config - abseil/meta/type_traits - abseil/random/internal/traits - abseil/random/internal/wide_multiply (1.20211102.0): - abseil/base/config - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/traits - abseil/random/random (1.20211102.0): - abseil/random/distributions - abseil/random/internal/nonsecure_base - abseil/random/internal/pcg_engine - abseil/random/internal/pool_urbg - abseil/random/internal/randen_engine - abseil/random/seed_sequences - abseil/random/seed_gen_exception (1.20211102.0): - abseil/base/config - abseil/random/seed_sequences (1.20211102.0): - abseil/container/inlined_vector - abseil/random/internal/nonsecure_base - abseil/random/internal/pool_urbg - abseil/random/internal/salted_seed_seq - abseil/random/internal/seed_material - abseil/random/seed_gen_exception - abseil/types/span - abseil/status/status (1.20211102.0): - abseil/base/atomic_hook - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/container/inlined_vector - abseil/debugging/stacktrace - abseil/debugging/symbolize - abseil/functional/function_ref - abseil/strings/cord - abseil/strings/str_format - abseil/strings/strings - abseil/types/optional - abseil/status/statusor (1.20211102.0): - abseil/base/base - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/meta/type_traits - abseil/status/status - abseil/strings/strings - abseil/types/variant - abseil/utility/utility - abseil/strings/cord (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/container/fixed_array - abseil/container/inlined_vector - abseil/functional/function_ref - abseil/meta/type_traits - abseil/strings/cord_internal - abseil/strings/cordz_functions - abseil/strings/cordz_info - abseil/strings/cordz_statistics - abseil/strings/cordz_update_scope - abseil/strings/cordz_update_tracker - abseil/strings/internal - abseil/strings/str_format - abseil/strings/strings - abseil/types/optional - abseil/strings/cord_internal (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/base/throw_delegate - abseil/container/compressed_tuple - abseil/container/inlined_vector - abseil/container/layout - abseil/functional/function_ref - abseil/meta/type_traits - abseil/strings/strings - abseil/types/span - abseil/strings/cordz_functions (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/profiling/exponential_biased - abseil/strings/cordz_handle (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/raw_logging_internal - abseil/synchronization/synchronization - abseil/strings/cordz_info (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/container/inlined_vector - abseil/debugging/stacktrace - abseil/strings/cord_internal - abseil/strings/cordz_functions - abseil/strings/cordz_handle - abseil/strings/cordz_statistics - abseil/strings/cordz_update_tracker - abseil/synchronization/synchronization - abseil/types/span - abseil/strings/cordz_statistics (1.20211102.0): - abseil/base/config - abseil/strings/cordz_update_tracker - abseil/strings/cordz_update_scope (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/strings/cord_internal - abseil/strings/cordz_info - abseil/strings/cordz_update_tracker - abseil/strings/cordz_update_tracker (1.20211102.0): - abseil/base/config - abseil/strings/internal (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/meta/type_traits - abseil/strings/str_format (1.20211102.0): - abseil/strings/str_format_internal - abseil/strings/str_format_internal (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/functional/function_ref - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/numeric/representation - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/strings/strings (1.20211102.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/base/throw_delegate - abseil/memory/memory - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/strings/internal - abseil/synchronization/graphcycles_internal (1.20211102.0): - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/synchronization/kernel_timeout_internal (1.20211102.0): - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/time/time - abseil/synchronization/synchronization (1.20211102.0): - abseil/base/atomic_hook - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/debugging/stacktrace - abseil/debugging/symbolize - abseil/synchronization/graphcycles_internal - abseil/synchronization/kernel_timeout_internal - abseil/time/time - abseil/time (1.20211102.0): - abseil/time/internal (= 1.20211102.0) - abseil/time/time (= 1.20211102.0) - abseil/time/internal (1.20211102.0): - abseil/time/internal/cctz (= 1.20211102.0) - abseil/time/internal/cctz (1.20211102.0): - abseil/time/internal/cctz/civil_time (= 1.20211102.0) - abseil/time/internal/cctz/time_zone (= 1.20211102.0) - abseil/time/internal/cctz/civil_time (1.20211102.0): - abseil/base/config - abseil/time/internal/cctz/time_zone (1.20211102.0): - abseil/base/config - abseil/time/internal/cctz/civil_time - abseil/time/time (1.20211102.0): - abseil/base/base - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/numeric/int128 - abseil/strings/strings - abseil/time/internal/cctz/civil_time - abseil/time/internal/cctz/time_zone - abseil/types (1.20211102.0): - abseil/types/any (= 1.20211102.0) - abseil/types/bad_any_cast (= 1.20211102.0) - abseil/types/bad_any_cast_impl (= 1.20211102.0) - abseil/types/bad_optional_access (= 1.20211102.0) - abseil/types/bad_variant_access (= 1.20211102.0) - abseil/types/compare (= 1.20211102.0) - abseil/types/optional (= 1.20211102.0) - abseil/types/span (= 1.20211102.0) - abseil/types/variant (= 1.20211102.0) - abseil/types/any (1.20211102.0): - abseil/base/config - abseil/base/core_headers - abseil/base/fast_type_id - abseil/meta/type_traits - abseil/types/bad_any_cast - abseil/utility/utility - abseil/types/bad_any_cast (1.20211102.0): - abseil/base/config - abseil/types/bad_any_cast_impl - abseil/types/bad_any_cast_impl (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/bad_optional_access (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/bad_variant_access (1.20211102.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/compare (1.20211102.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/types/optional (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/memory/memory - abseil/meta/type_traits - abseil/types/bad_optional_access - abseil/utility/utility - abseil/types/span (1.20211102.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/base/throw_delegate - abseil/meta/type_traits - abseil/types/variant (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/types/bad_variant_access - abseil/utility/utility - abseil/utility/utility (1.20211102.0): - abseil/base/base_internal - abseil/base/config - abseil/meta/type_traits - BoringSSL-GRPC (0.0.24): - BoringSSL-GRPC/Implementation (= 0.0.24) - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Implementation (0.0.24): - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Interface (0.0.24) - Codextended (0.3.0) - CropViewController (2.6.1) - Firebase/Analytics (10.3.0): - Firebase/Core - Firebase/Auth (10.3.0): - Firebase/CoreOnly - FirebaseAuth (~> 10.3.0) - Firebase/Core (10.3.0): - Firebase/CoreOnly - FirebaseAnalytics (~> 10.3.0) - Firebase/CoreOnly (10.3.0): - FirebaseCore (= 10.3.0) - Firebase/Crashlytics (10.3.0): - Firebase/CoreOnly - FirebaseCrashlytics (~> 10.3.0) - Firebase/Database (10.3.0): - Firebase/CoreOnly - FirebaseDatabase (~> 10.3.0) - Firebase/Firestore (10.3.0): - Firebase/CoreOnly - FirebaseFirestore (~> 10.3.0) - Firebase/Functions (10.3.0): - Firebase/CoreOnly - FirebaseFunctions (~> 10.3.0) - Firebase/Messaging (10.3.0): - Firebase/CoreOnly - FirebaseMessaging (~> 10.3.0) - Firebase/Storage (10.3.0): - Firebase/CoreOnly - FirebaseStorage (~> 10.3.0) - FirebaseAnalytics (10.3.0): - FirebaseAnalytics/AdIdSupport (= 10.3.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/MethodSwizzler (~> 7.8) - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAnalytics/AdIdSupport (10.3.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleAppMeasurement (= 10.3.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/MethodSwizzler (~> 7.8) - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAppCheckInterop (10.3.0) - FirebaseAuth (10.3.0): - FirebaseCore (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GTMSessionFetcher/Core (< 4.0, >= 2.1) - FirebaseAuthInterop (10.3.0) - FirebaseCore (10.3.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - FirebaseCoreExtension (10.3.0): - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.3.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseCrashlytics (10.3.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - FirebaseDatabase (10.3.0): - FirebaseCore (~> 10.0) - leveldb-library (~> 1.22) - FirebaseFirestore (10.3.0): - abseil/algorithm (~> 1.20211102.0) - abseil/base (~> 1.20211102.0) - abseil/container/flat_hash_map (~> 1.20211102.0) - abseil/memory (~> 1.20211102.0) - abseil/meta (~> 1.20211102.0) - abseil/strings/strings (~> 1.20211102.0) - abseil/time (~> 1.20211102.0) - abseil/types (~> 1.20211102.0) - FirebaseCore (~> 10.0) - "gRPC-C++ (~> 1.44.0)" - leveldb-library (~> 1.22) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseFunctions (10.3.0): - FirebaseAppCheckInterop (~> 10.0) - FirebaseAuthInterop (~> 10.0) - FirebaseCore (~> 10.0) - FirebaseCoreExtension (~> 10.0) - FirebaseMessagingInterop (~> 10.0) - FirebaseSharedSwift (~> 10.0) - GTMSessionFetcher/Core (< 4.0, >= 2.1) - FirebaseInstallations (10.3.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - FirebaseMessaging (10.3.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseMessagingInterop (10.3.0) - FirebaseSharedSwift (10.3.0) - FirebaseStorage (10.3.0): - FirebaseAppCheckInterop (~> 10.0) - FirebaseAuthInterop (~> 10.0) - FirebaseCore (~> 10.0) - FirebaseCoreExtension (~> 10.0) - GTMSessionFetcher/Core (< 4.0, >= 2.1) - Google-Mobile-Ads-SDK (9.14.0): - GoogleAppMeasurement (< 11.0, >= 7.0) - GoogleUserMessagingPlatform (>= 1.1) - GoogleAppMeasurement (10.3.0): - GoogleAppMeasurement/AdIdSupport (= 10.3.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/MethodSwizzler (~> 7.8) - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/AdIdSupport (10.3.0): - GoogleAppMeasurement/WithoutAdIdSupport (= 10.3.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/MethodSwizzler (~> 7.8) - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/WithoutAdIdSupport (10.3.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/MethodSwizzler (~> 7.8) - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleDataTransport (9.2.0): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - GoogleUserMessagingPlatform (2.0.1) - GoogleUtilities (7.10.0): - GoogleUtilities/AppDelegateSwizzler (= 7.10.0) - GoogleUtilities/Environment (= 7.10.0) - GoogleUtilities/ISASwizzler (= 7.10.0) - GoogleUtilities/Logger (= 7.10.0) - GoogleUtilities/MethodSwizzler (= 7.10.0) - GoogleUtilities/Network (= 7.10.0) - "GoogleUtilities/NSData+zlib (= 7.10.0)" - GoogleUtilities/Reachability (= 7.10.0) - GoogleUtilities/SwizzlerTestHelpers (= 7.10.0) - GoogleUtilities/UserDefaults (= 7.10.0) - GoogleUtilities/AppDelegateSwizzler (7.10.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Environment (7.10.0): - PromisesObjC (< 3.0, >= 1.2) - GoogleUtilities/ISASwizzler (7.10.0) - GoogleUtilities/Logger (7.10.0): - GoogleUtilities/Environment - GoogleUtilities/MethodSwizzler (7.10.0): - GoogleUtilities/Logger - GoogleUtilities/Network (7.10.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - "GoogleUtilities/NSData+zlib (7.10.0)" - GoogleUtilities/Reachability (7.10.0): - GoogleUtilities/Logger - GoogleUtilities/SwizzlerTestHelpers (7.10.0): - GoogleUtilities/MethodSwizzler - GoogleUtilities/UserDefaults (7.10.0): - GoogleUtilities/Logger - "gRPC-C++ (1.44.0)": - "gRPC-C++/Implementation (= 1.44.0)" - "gRPC-C++/Interface (= 1.44.0)" - "gRPC-C++/Implementation (1.44.0)": - abseil/base/base (= 1.20211102.0) - abseil/base/core_headers (= 1.20211102.0) - abseil/container/flat_hash_map (= 1.20211102.0) - abseil/container/inlined_vector (= 1.20211102.0) - abseil/functional/bind_front (= 1.20211102.0) - abseil/hash/hash (= 1.20211102.0) - abseil/memory/memory (= 1.20211102.0) - abseil/random/random (= 1.20211102.0) - abseil/status/status (= 1.20211102.0) - abseil/status/statusor (= 1.20211102.0) - abseil/strings/cord (= 1.20211102.0) - abseil/strings/str_format (= 1.20211102.0) - abseil/strings/strings (= 1.20211102.0) - abseil/synchronization/synchronization (= 1.20211102.0) - abseil/time/time (= 1.20211102.0) - abseil/types/optional (= 1.20211102.0) - abseil/types/variant (= 1.20211102.0) - abseil/utility/utility (= 1.20211102.0) - "gRPC-C++/Interface (= 1.44.0)" - gRPC-Core (= 1.44.0) - "gRPC-C++/Interface (1.44.0)" - gRPC-Core (1.44.0): - gRPC-Core/Implementation (= 1.44.0) - gRPC-Core/Interface (= 1.44.0) - gRPC-Core/Implementation (1.44.0): - abseil/base/base (= 1.20211102.0) - abseil/base/core_headers (= 1.20211102.0) - abseil/container/flat_hash_map (= 1.20211102.0) - abseil/container/inlined_vector (= 1.20211102.0) - abseil/functional/bind_front (= 1.20211102.0) - abseil/hash/hash (= 1.20211102.0) - abseil/memory/memory (= 1.20211102.0) - abseil/random/random (= 1.20211102.0) - abseil/status/status (= 1.20211102.0) - abseil/status/statusor (= 1.20211102.0) - abseil/strings/cord (= 1.20211102.0) - abseil/strings/str_format (= 1.20211102.0) - abseil/strings/strings (= 1.20211102.0) - abseil/synchronization/synchronization (= 1.20211102.0) - abseil/time/time (= 1.20211102.0) - abseil/types/optional (= 1.20211102.0) - abseil/types/variant (= 1.20211102.0) - abseil/utility/utility (= 1.20211102.0) - BoringSSL-GRPC (= 0.0.24) - gRPC-Core/Interface (= 1.44.0) - Libuv-gRPC (= 0.0.10) - gRPC-Core/Interface (1.44.0) - GTMSessionFetcher/Core (3.0.0) - leveldb-library (1.22.1) - Libuv-gRPC (0.0.10): - Libuv-gRPC/Implementation (= 0.0.10) - Libuv-gRPC/Interface (= 0.0.10) - Libuv-gRPC/Implementation (0.0.10): - Libuv-gRPC/Interface (= 0.0.10) - Libuv-gRPC/Interface (0.0.10) - nanopb (2.30909.0): - nanopb/decode (= 2.30909.0) - nanopb/encode (= 2.30909.0) - nanopb/decode (2.30909.0) - nanopb/encode (2.30909.0) - PromisesObjC (2.1.1) DEPENDENCIES: - Firebase/Analytics - Firebase/Auth - Firebase/Crashlytics - Firebase/Database - Firebase/Firestore - Firebase/Functions - Firebase/Messaging - Firebase/Storage - GoogleUtilities SPEC REPOS: trunk: - abseil - BoringSSL-GRPC - Firebase - FirebaseAnalytics - FirebaseAppCheckInterop - FirebaseAuth - FirebaseAuthInterop - FirebaseCore - FirebaseCoreExtension - FirebaseCoreInternal - FirebaseCrashlytics - FirebaseDatabase - FirebaseFirestore - FirebaseFunctions - FirebaseInstallations - FirebaseMessaging - FirebaseMessagingInterop - FirebaseSharedSwift - FirebaseStorage - Google-Mobile-Ads-SDK - GoogleAppMeasurement - GoogleDataTransport - GoogleUserMessagingPlatform - GoogleUtilities - "gRPC-C++" - gRPC-Core - GTMSessionFetcher - leveldb-library - Libuv-gRPC - nanopb - PromisesObjC SPEC CHECKSUMS: abseil: ebe5b5529fb05d93a8bdb7951607be08b7fa71bc BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33 Firebase: f92fc551ead69c94168d36c2b26188263860acd9 FirebaseAnalytics: 036232b6a1e2918e5f67572417be1173576245f3 FirebaseAppCheckInterop: 9fc57dfa08f0abb737b185ea065422b55355c909 FirebaseAuth: 0e415d29d846c1dce2fb641e46f35e9888d9bec6 FirebaseAuthInterop: 7a766bd56971347e0de4b7674aaa62ddc7820097 FirebaseCore: 988754646ab3bd4bdcb740f1bfe26b9f6c0d5f2a FirebaseCoreExtension: 93d252fabdc9696bf14a73b04d84877ab9b3a832 FirebaseCoreInternal: 29b76f784d607df8b2a1259d73c3f04f1210137b FirebaseCrashlytics: f20d956f8229010b645e534693c39e0b7843c268 FirebaseDatabase: d0732ba8aece0eccfa0cfb3ef540e7ba6fa1c6a6 FirebaseFirestore: 244f71ff14ef44f39e00b44d356eac708ce03103 FirebaseFunctions: d8415d2237cc807d05fa0a921d645f50a0d9d803 FirebaseInstallations: e2f26126089dcf41e215f7b8925af8d953c7d602 FirebaseMessaging: e345b219fd15d325f0cf2fef28cb8ce00d851b3f FirebaseMessagingInterop: 3c1f7b57edba1679aac310eb2330c7104343fad8 FirebaseSharedSwift: d82ad66b3f8de9dda19c77b9627cbcaad71e245e FirebaseStorage: 0efbff0ac978981866d89804191688ae50d64033 Google-Mobile-Ads-SDK: 4fe6304b771f8467d29978cb790ec1e56e646946 GoogleAppMeasurement: c7d6fff39bf2d829587d74088d582e32d75133c3 GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f GoogleUserMessagingPlatform: 5f8b30daf181805317b6b985bb51c1ff3beca054 GoogleUtilities: bad72cb363809015b1f7f19beb1f1cd23c589f95 "gRPC-C++": 9675f953ace2b3de7c506039d77be1f2e77a8db2 gRPC-Core: 943e491cb0d45598b0b0eb9e910c88080369290b GTMSessionFetcher: c1edebe64e9fb4e8f6415d018edf1fd3eac074a1 leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729 Libuv-gRPC: 55e51798e14ef436ad9bc45d12d43b77b49df378 nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb PODFILE CHECKSUM: 6bc6567a6cc155f18debcd7daa00b93b3afd3d31 COCOAPODS: 1.11.3 ```
google-oss-bot commented 1 year ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

mgrms commented 1 year ago

Probably related to https://github.com/firebase/firebase-ios-sdk/issues/9462

morganchen12 commented 1 year ago

The stack trace here is different, looks like gRPC (the underlying transport library Firestore uses) is failing to initialize a component.

mgrms commented 1 year ago

@morganchen12 ,

Thanks for your reply.

The most interesting thing is that we cannot reproduce this crash when we launch the application with Xcode, but when we launch it without Xcode, directly through tapping on the application icon on the Home Screen - this crash occurs in 95% of app launches.

We tried to deintegrate and reinstall all pods, change/comment out pieces of code that is called at the start - nothing helped.

It’s not clear what to do, we’re thinking about trying to change CocoaPods to SPM, or idk... We've been using Firebase with CocoaPods for many years and this is the first time we've run into problems like these.

cherylEnkidu commented 1 year ago

Hi,

Thank you for filling up the ticket! The team is not available for support during the holiday break and we will get back to you in the new year. Happy holiday!

dconeybe commented 1 year ago

This is almost 100% related to https://github.com/firebase/firebase-ios-sdk/issues/9462, as @mgrms hypothesized. I worked on that issue for months, but without a reproducible scenario it was nearly impossible to debug and I never did solve it.

I had a possible fix that I had asked the reporter of #9462 to try but never heard back. @mgrms since you seem to have a reproducible scenario, could you try it out? The instructions are here: https://github.com/firebase/firebase-ios-sdk/issues/9462#issuecomment-1341250988

mgrms commented 1 year ago

@dconeybe

I can confirm that your fix helped in our case. I can not reproduce the crash anymore. I will monitor for some time, but right now after a few hours of testing - 0 crashes.

Thank you very much for your help! Have a nice day!

dconeybe commented 1 year ago

Thank you for reporting back, @mgrms. That's great news! The bad news is that since this fix must be submitted to grpc (context), there's not much that we can do for now to fix it. You'll be stuck manually applying this patch until this repo upgrades its grpc dependency.

See, for reasons, we must support compiling with C++11 which means that we are stuck at grpc v1.46 or older (link). Currently we are pinned to grpc v1.44.0. However, we plan to drop C++11 support later this year (link), at which point Firestore can upgrade to the latest grpc, which has done away with g_glip altogether and likely does not suffer from this crash.

So my recommendation is to continue manually applying this patch. Once Firestore upgrades to the latest grpc then the patch will no longer apply cleanly, and at that point you can stop applying the patch. I know this is going to be annoying for the foreseeable future so thank you for your patience and understanding.