Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firestore -> grpc crash after upgrading to iOS 18 SDK / XCode 16 #14018

Open
xaphod opened this issue Nov 3, 2024 · 20 comments
Open

Firestore -> grpc crash after upgrading to iOS 18 SDK / XCode 16 #14018

xaphod opened this issue Nov 3, 2024 · 20 comments
Assignees

Comments

@xaphod
Copy link

xaphod commented Nov 3, 2024

Description

This started getting reported via our crashlytics reporting after we moved to XCode 16 / iOS 18 SDK. The build in question uses iOS 18.1 SDK. It uses Firestore, which brings in grpc, which appears to be having this crash.

          Crashed: Thread
0  grpc                           0x241208 on_read(void*, absl::lts_20240116::Status) + 137 (memory_allocator.h:137)
1  grpc                           0x104ccc grpc_core::ExecCtx::Flush() + 814 (status.h:814)
2  grpc                           0x162d8 grpc_core::ExecCtx::~ExecCtx() + 133 (exec_ctx.h:133)
3  grpc                           0xefc28 grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::FinishPendingRead(absl::lts_20240116::Status) + 304 (exec_ctx.h:304)
4  grpc                           0xeffac void absl::lts_20240116::internal_any_invocable::LocalInvoker<false, void, grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*, grpc_event_engine::experimental::EventEngine::Endpoint::ReadArgs const*)::'lambda'(absl::lts_20240116::Status)&, absl::lts_20240116::Status>(absl::lts_20240116::internal_any_invocable::TypeErasedState*, absl::lts_20240116::internal_any_invocable::ForwardedParameter<absl::lts_20240116::Status>::type) + 814 (status.h:814)
5  grpc                           0x52e80 grpc_event_engine::experimental::CFStreamEndpointImpl::DoRead(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*) + 814 (status.h:814)
6  grpc                           0x53e30 void absl::lts_20240116::internal_any_invocable::RemoteInvoker<false, void, grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*, grpc_event_engine::experimental::EventEngine::Endpoint::ReadArgs const*)::$_0&, absl::lts_20240116::Status>(absl::lts_20240116::internal_any_invocable::TypeErasedState*, absl::lts_20240116::internal_any_invocable::ForwardedParameter<absl::lts_20240116::Status>::type) + 508 (any_invocable.h:508)
7  grpc                           0x53644 grpc_event_engine::experimental::PosixEngineClosure::Run() + 814 (status.h:814)
8  grpc                           0x2cccb4 grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::Step() + 1394 (vector:1394)
9  grpc                           0x2cc9cc grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::ThreadBody() + 494 (work_stealing_thread_pool.cc:494)
10 grpc                           0x2cd210 grpc_event_engine::experimental::WorkStealingThreadPool::WorkStealingThreadPoolImpl::StartThread()::$_0::__invoke(void*) + 262 (work_stealing_thread_pool.cc:262)
11 grpc                           0x2a2f9c grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 149 (thd.cc:149)
12 libsystem_pthread.dylib        0x482c _pthread_start + 104
13 libsystem_pthread.dylib        0xcd8 thread_start + 8

Reproducing the issue

We cannot reproduce the issue, it occurs in production builds in the wild.

Firebase SDK Version

11.4.2

Xcode Version

16.1

Installation Method

CocoaPods

Firebase Product(s)

Firestore

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
PODS:
  - abseil/algorithm (1.20240116.2):
    - abseil/algorithm/algorithm (= 1.20240116.2)
    - abseil/algorithm/container (= 1.20240116.2)
  - abseil/algorithm/algorithm (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/algorithm/container (1.20240116.2):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/base (1.20240116.2):
    - abseil/base/atomic_hook (= 1.20240116.2)
    - abseil/base/base (= 1.20240116.2)
    - abseil/base/base_internal (= 1.20240116.2)
    - abseil/base/config (= 1.20240116.2)
    - abseil/base/core_headers (= 1.20240116.2)
    - abseil/base/cycleclock_internal (= 1.20240116.2)
    - abseil/base/dynamic_annotations (= 1.20240116.2)
    - abseil/base/endian (= 1.20240116.2)
    - abseil/base/errno_saver (= 1.20240116.2)
    - abseil/base/fast_type_id (= 1.20240116.2)
    - abseil/base/log_severity (= 1.20240116.2)
    - abseil/base/malloc_internal (= 1.20240116.2)
    - abseil/base/no_destructor (= 1.20240116.2)
    - abseil/base/nullability (= 1.20240116.2)
    - abseil/base/prefetch (= 1.20240116.2)
    - abseil/base/pretty_function (= 1.20240116.2)
    - abseil/base/raw_logging_internal (= 1.20240116.2)
    - abseil/base/spinlock_wait (= 1.20240116.2)
    - abseil/base/strerror (= 1.20240116.2)
    - abseil/base/throw_delegate (= 1.20240116.2)
  - abseil/base/atomic_hook (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/base/base (1.20240116.2):
    - abseil/base/atomic_hook
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/cycleclock_internal
    - abseil/base/dynamic_annotations
    - abseil/base/log_severity
    - abseil/base/nullability
    - abseil/base/raw_logging_internal
    - abseil/base/spinlock_wait
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/base/base_internal (1.20240116.2):
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/base/config (1.20240116.2):
    - abseil/xcprivacy
  - abseil/base/core_headers (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/base/cycleclock_internal (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/base/dynamic_annotations (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/base/endian (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/xcprivacy
  - abseil/base/errno_saver (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/base/fast_type_id (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/base/log_severity (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/base/malloc_internal (1.20240116.2):
    - abseil/base/base
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/base/no_destructor (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/base/nullability (1.20240116.2):
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/base/prefetch (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/base/pretty_function (1.20240116.2):
    - abseil/xcprivacy
  - abseil/base/raw_logging_internal (1.20240116.2):
    - abseil/base/atomic_hook
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/errno_saver
    - abseil/base/log_severity
    - abseil/xcprivacy
  - abseil/base/spinlock_wait (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/core_headers
    - abseil/base/errno_saver
    - abseil/xcprivacy
  - abseil/base/strerror (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/errno_saver
    - abseil/xcprivacy
  - abseil/base/throw_delegate (1.20240116.2):
    - abseil/base/config
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/cleanup/cleanup (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/cleanup/cleanup_internal
    - abseil/xcprivacy
  - abseil/cleanup/cleanup_internal (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/core_headers
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/container/common (1.20240116.2):
    - abseil/meta/type_traits
    - abseil/types/optional
    - abseil/xcprivacy
  - abseil/container/common_policy_traits (1.20240116.2):
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/container/compressed_tuple (1.20240116.2):
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/container/container_memory (1.20240116.2):
    - abseil/base/config
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/container/fixed_array (1.20240116.2):
    - 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/xcprivacy
  - abseil/container/flat_hash_map (1.20240116.2):
    - abseil/algorithm/container
    - abseil/base/core_headers
    - abseil/container/container_memory
    - abseil/container/hash_function_defaults
    - abseil/container/raw_hash_map
    - abseil/memory/memory
    - abseil/xcprivacy
  - abseil/container/flat_hash_set (1.20240116.2):
    - abseil/algorithm/container
    - abseil/base/core_headers
    - abseil/container/container_memory
    - abseil/container/hash_function_defaults
    - abseil/container/raw_hash_set
    - abseil/memory/memory
    - abseil/xcprivacy
  - abseil/container/hash_function_defaults (1.20240116.2):
    - abseil/base/config
    - abseil/hash/hash
    - abseil/strings/cord
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/container/hash_policy_traits (1.20240116.2):
    - abseil/container/common_policy_traits
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/container/hashtable_debug_hooks (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/container/hashtablez_sampler (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/debugging/stacktrace
    - abseil/memory/memory
    - abseil/profiling/exponential_biased
    - abseil/profiling/sample_recorder
    - abseil/synchronization/synchronization
    - abseil/time/time
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/container/inlined_vector (1.20240116.2):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/base/throw_delegate
    - abseil/container/inlined_vector_internal
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/container/inlined_vector_internal (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/container/compressed_tuple
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/container/layout (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/debugging/demangle_internal
    - abseil/meta/type_traits
    - abseil/strings/strings
    - abseil/types/span
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/container/raw_hash_map (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/throw_delegate
    - abseil/container/container_memory
    - abseil/container/raw_hash_set
    - abseil/xcprivacy
  - abseil/container/raw_hash_set (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/base/endian
    - abseil/base/prefetch
    - abseil/base/raw_logging_internal
    - 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/hash/hash
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/crc/cpu_detect (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/crc/crc32c (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/prefetch
    - abseil/crc/cpu_detect
    - abseil/crc/crc_internal
    - abseil/crc/non_temporal_memcpy
    - abseil/strings/str_format
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/crc/crc_cord_state (1.20240116.2):
    - abseil/base/config
    - abseil/crc/crc32c
    - abseil/numeric/bits
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/crc/crc_internal (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/prefetch
    - abseil/base/raw_logging_internal
    - abseil/crc/cpu_detect
    - abseil/memory/memory
    - abseil/numeric/bits
    - abseil/xcprivacy
  - abseil/crc/non_temporal_arm_intrinsics (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/crc/non_temporal_memcpy (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/crc/non_temporal_arm_intrinsics
    - abseil/xcprivacy
  - abseil/debugging/debugging_internal (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/base/errno_saver
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/debugging/demangle_internal (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/debugging/examine_stack (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/debugging/stacktrace
    - abseil/debugging/symbolize
    - abseil/xcprivacy
  - abseil/debugging/stacktrace (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/base/raw_logging_internal
    - abseil/debugging/debugging_internal
    - abseil/xcprivacy
  - abseil/debugging/symbolize (1.20240116.2):
    - 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/xcprivacy
  - abseil/flags/commandlineflag (1.20240116.2):
    - abseil/base/config
    - abseil/base/fast_type_id
    - abseil/flags/commandlineflag_internal
    - abseil/strings/strings
    - abseil/types/optional
    - abseil/xcprivacy
  - abseil/flags/commandlineflag_internal (1.20240116.2):
    - abseil/base/config
    - abseil/base/fast_type_id
    - abseil/xcprivacy
  - abseil/flags/config (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/flags/path_util
    - abseil/flags/program_name
    - abseil/strings/strings
    - abseil/synchronization/synchronization
    - abseil/xcprivacy
  - abseil/flags/flag (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/flags/config
    - abseil/flags/flag_internal
    - abseil/flags/reflection
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/flags/flag_internal (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/flags/commandlineflag
    - abseil/flags/commandlineflag_internal
    - abseil/flags/config
    - abseil/flags/marshalling
    - abseil/flags/reflection
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/strings/strings
    - abseil/synchronization/synchronization
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/flags/marshalling (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/numeric/int128
    - abseil/strings/str_format
    - abseil/strings/strings
    - abseil/types/optional
    - abseil/xcprivacy
  - abseil/flags/path_util (1.20240116.2):
    - abseil/base/config
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/flags/private_handle_accessor (1.20240116.2):
    - abseil/base/config
    - abseil/flags/commandlineflag
    - abseil/flags/commandlineflag_internal
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/flags/program_name (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/flags/path_util
    - abseil/strings/strings
    - abseil/synchronization/synchronization
    - abseil/xcprivacy
  - abseil/flags/reflection (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/no_destructor
    - abseil/container/flat_hash_map
    - abseil/flags/commandlineflag
    - abseil/flags/commandlineflag_internal
    - abseil/flags/config
    - abseil/flags/private_handle_accessor
    - abseil/strings/strings
    - abseil/synchronization/synchronization
    - abseil/xcprivacy
  - abseil/functional/any_invocable (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/functional/bind_front (1.20240116.2):
    - abseil/base/base_internal
    - abseil/container/compressed_tuple
    - abseil/meta/type_traits
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/functional/function_ref (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/core_headers
    - abseil/functional/any_invocable
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/hash/city (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/xcprivacy
  - abseil/hash/hash (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/container/fixed_array
    - abseil/functional/function_ref
    - abseil/hash/city
    - abseil/hash/low_level_hash
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/numeric/int128
    - abseil/strings/strings
    - abseil/types/optional
    - abseil/types/variant
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/hash/low_level_hash (1.20240116.2):
    - abseil/base/config
    - abseil/base/endian
    - abseil/base/prefetch
    - abseil/numeric/int128
    - abseil/xcprivacy
  - abseil/log/absl_check (1.20240116.2):
    - abseil/log/internal/check_impl
    - abseil/xcprivacy
  - abseil/log/absl_log (1.20240116.2):
    - abseil/log/internal/log_impl
    - abseil/xcprivacy
  - abseil/log/absl_vlog_is_on (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/log/internal/vlog_config
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/log/check (1.20240116.2):
    - abseil/log/internal/check_impl
    - abseil/log/internal/check_op
    - abseil/log/internal/conditions
    - abseil/log/internal/log_message
    - abseil/log/internal/strip
    - abseil/xcprivacy
  - abseil/log/globals (1.20240116.2):
    - abseil/base/atomic_hook
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/base/raw_logging_internal
    - abseil/hash/hash
    - abseil/log/internal/vlog_config
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/log/internal/append_truncated (1.20240116.2):
    - abseil/base/config
    - abseil/strings/strings
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/log/internal/check_impl (1.20240116.2):
    - abseil/base/core_headers
    - abseil/log/internal/check_op
    - abseil/log/internal/conditions
    - abseil/log/internal/log_message
    - abseil/log/internal/strip
    - abseil/xcprivacy
  - abseil/log/internal/check_op (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/log/internal/nullguard
    - abseil/log/internal/nullstream
    - abseil/log/internal/strip
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/log/internal/conditions (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/log/internal/voidify
    - abseil/xcprivacy
  - abseil/log/internal/config (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/log/internal/fnmatch (1.20240116.2):
    - abseil/base/config
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/log/internal/format (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/log/internal/append_truncated
    - abseil/log/internal/config
    - abseil/log/internal/globals
    - abseil/strings/str_format
    - abseil/strings/strings
    - abseil/time/time
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/log/internal/globals (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/base/raw_logging_internal
    - abseil/strings/strings
    - abseil/time/time
    - abseil/xcprivacy
  - abseil/log/internal/log_impl (1.20240116.2):
    - abseil/log/absl_vlog_is_on
    - abseil/log/internal/conditions
    - abseil/log/internal/log_message
    - abseil/log/internal/strip
    - abseil/xcprivacy
  - abseil/log/internal/log_message (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/errno_saver
    - abseil/base/log_severity
    - abseil/base/raw_logging_internal
    - abseil/base/strerror
    - abseil/container/inlined_vector
    - abseil/debugging/examine_stack
    - abseil/log/globals
    - abseil/log/internal/append_truncated
    - abseil/log/internal/format
    - abseil/log/internal/globals
    - abseil/log/internal/log_sink_set
    - abseil/log/internal/nullguard
    - abseil/log/internal/proto
    - abseil/log/log_entry
    - abseil/log/log_sink
    - abseil/log/log_sink_registry
    - abseil/memory/memory
    - abseil/strings/strings
    - abseil/time/time
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/log/internal/log_sink_set (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/base/no_destructor
    - abseil/base/raw_logging_internal
    - abseil/cleanup/cleanup
    - abseil/log/globals
    - abseil/log/internal/config
    - abseil/log/internal/globals
    - abseil/log/log_entry
    - abseil/log/log_sink
    - abseil/strings/strings
    - abseil/synchronization/synchronization
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/log/internal/nullguard (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/log/internal/nullstream (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/strings/strings
    - abseil/xcprivacy
  - abseil/log/internal/proto (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/strings/strings
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/log/internal/strip (1.20240116.2):
    - abseil/base/log_severity
    - abseil/log/internal/log_message
    - abseil/log/internal/nullstream
    - abseil/xcprivacy
  - abseil/log/internal/vlog_config (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/no_destructor
    - abseil/log/internal/fnmatch
    - abseil/memory/memory
    - abseil/strings/strings
    - abseil/synchronization/synchronization
    - abseil/types/optional
    - abseil/xcprivacy
  - abseil/log/internal/voidify (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/log/log (1.20240116.2):
    - abseil/log/internal/log_impl
    - abseil/log/vlog_is_on
    - abseil/xcprivacy
  - abseil/log/log_entry (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/log_severity
    - abseil/log/internal/config
    - abseil/strings/strings
    - abseil/time/time
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/log/log_sink (1.20240116.2):
    - abseil/base/config
    - abseil/log/log_entry
    - abseil/xcprivacy
  - abseil/log/log_sink_registry (1.20240116.2):
    - abseil/base/config
    - abseil/log/internal/log_sink_set
    - abseil/log/log_sink
    - abseil/xcprivacy
  - abseil/log/vlog_is_on (1.20240116.2):
    - abseil/log/absl_vlog_is_on
    - abseil/xcprivacy
  - abseil/memory (1.20240116.2):
    - abseil/memory/memory (= 1.20240116.2)
  - abseil/memory/memory (1.20240116.2):
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/meta (1.20240116.2):
    - abseil/meta/type_traits (= 1.20240116.2)
  - abseil/meta/type_traits (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/numeric/bits (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/numeric/int128 (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/numeric/bits
    - abseil/xcprivacy
  - abseil/numeric/representation (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/profiling/exponential_biased (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/xcprivacy
  - abseil/profiling/sample_recorder (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/synchronization/synchronization
    - abseil/time/time
    - abseil/xcprivacy
  - abseil/random/bit_gen_ref (1.20240116.2):
    - abseil/base/core_headers
    - abseil/base/fast_type_id
    - abseil/meta/type_traits
    - abseil/random/internal/distribution_caller
    - abseil/random/internal/fast_uniform_bits
    - abseil/random/random
    - abseil/xcprivacy
  - abseil/random/distributions (1.20240116.2):
    - 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/xcprivacy
  - abseil/random/internal/distribution_caller (1.20240116.2):
    - abseil/base/config
    - abseil/base/fast_type_id
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/random/internal/fast_uniform_bits (1.20240116.2):
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/random/internal/traits
    - abseil/xcprivacy
  - abseil/random/internal/fastmath (1.20240116.2):
    - abseil/numeric/bits
    - abseil/xcprivacy
  - abseil/random/internal/generate_real (1.20240116.2):
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/random/internal/fastmath
    - abseil/random/internal/traits
    - abseil/xcprivacy
  - abseil/random/internal/iostream_state_saver (1.20240116.2):
    - abseil/meta/type_traits
    - abseil/numeric/int128
    - abseil/xcprivacy
  - abseil/random/internal/nonsecure_base (1.20240116.2):
    - abseil/base/core_headers
    - abseil/container/inlined_vector
    - abseil/meta/type_traits
    - abseil/random/internal/pool_urbg
    - abseil/random/internal/salted_seed_seq
    - abseil/random/internal/seed_material
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/random/internal/pcg_engine (1.20240116.2):
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/numeric/int128
    - abseil/random/internal/fastmath
    - abseil/random/internal/iostream_state_saver
    - abseil/xcprivacy
  - abseil/random/internal/platform (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/random/internal/pool_urbg (1.20240116.2):
    - 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/xcprivacy
  - abseil/random/internal/randen (1.20240116.2):
    - abseil/base/raw_logging_internal
    - abseil/random/internal/platform
    - abseil/random/internal/randen_hwaes
    - abseil/random/internal/randen_slow
    - abseil/xcprivacy
  - abseil/random/internal/randen_engine (1.20240116.2):
    - abseil/base/endian
    - abseil/meta/type_traits
    - abseil/random/internal/iostream_state_saver
    - abseil/random/internal/randen
    - abseil/xcprivacy
  - abseil/random/internal/randen_hwaes (1.20240116.2):
    - abseil/base/config
    - abseil/random/internal/platform
    - abseil/random/internal/randen_hwaes_impl
    - abseil/xcprivacy
  - abseil/random/internal/randen_hwaes_impl (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/numeric/int128
    - abseil/random/internal/platform
    - abseil/xcprivacy
  - abseil/random/internal/randen_slow (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/numeric/int128
    - abseil/random/internal/platform
    - abseil/xcprivacy
  - abseil/random/internal/salted_seed_seq (1.20240116.2):
    - abseil/container/inlined_vector
    - abseil/meta/type_traits
    - abseil/random/internal/seed_material
    - abseil/types/optional
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/random/internal/seed_material (1.20240116.2):
    - 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/xcprivacy
  - abseil/random/internal/traits (1.20240116.2):
    - abseil/base/config
    - abseil/numeric/bits
    - abseil/numeric/int128
    - abseil/xcprivacy
  - abseil/random/internal/uniform_helper (1.20240116.2):
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/numeric/int128
    - abseil/random/internal/traits
    - abseil/xcprivacy
  - abseil/random/internal/wide_multiply (1.20240116.2):
    - abseil/base/config
    - abseil/numeric/bits
    - abseil/numeric/int128
    - abseil/random/internal/traits
    - abseil/xcprivacy
  - abseil/random/random (1.20240116.2):
    - 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/xcprivacy
  - abseil/random/seed_gen_exception (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/random/seed_sequences (1.20240116.2):
    - abseil/base/config
    - 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/xcprivacy
  - abseil/status/status (1.20240116.2):
    - abseil/base/atomic_hook
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/no_destructor
    - abseil/base/nullability
    - abseil/base/raw_logging_internal
    - abseil/base/strerror
    - abseil/container/inlined_vector
    - abseil/debugging/stacktrace
    - abseil/debugging/symbolize
    - abseil/functional/function_ref
    - abseil/memory/memory
    - abseil/strings/cord
    - abseil/strings/str_format
    - abseil/strings/strings
    - abseil/types/optional
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/status/statusor (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/base/raw_logging_internal
    - abseil/meta/type_traits
    - abseil/status/status
    - abseil/strings/has_ostream_operator
    - abseil/strings/str_format
    - abseil/strings/strings
    - abseil/types/variant
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/strings/charset (1.20240116.2):
    - abseil/base/core_headers
    - abseil/strings/string_view
    - abseil/xcprivacy
  - abseil/strings/cord (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/nullability
    - abseil/base/raw_logging_internal
    - abseil/container/inlined_vector
    - abseil/crc/crc32c
    - abseil/crc/crc_cord_state
    - abseil/functional/function_ref
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - 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/strings
    - abseil/types/optional
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/strings/cord_internal (1.20240116.2):
    - 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/container_memory
    - abseil/container/inlined_vector
    - abseil/container/layout
    - abseil/crc/crc_cord_state
    - abseil/functional/function_ref
    - abseil/meta/type_traits
    - abseil/strings/strings
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/strings/cordz_functions (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/profiling/exponential_biased
    - abseil/xcprivacy
  - abseil/strings/cordz_handle (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/raw_logging_internal
    - abseil/synchronization/synchronization
    - abseil/xcprivacy
  - abseil/strings/cordz_info (1.20240116.2):
    - 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/time/time
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/strings/cordz_statistics (1.20240116.2):
    - abseil/base/config
    - abseil/strings/cordz_update_tracker
    - abseil/xcprivacy
  - abseil/strings/cordz_update_scope (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/strings/cord_internal
    - abseil/strings/cordz_info
    - abseil/strings/cordz_update_tracker
    - abseil/xcprivacy
  - abseil/strings/cordz_update_tracker (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/strings/has_ostream_operator (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/strings/internal (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/raw_logging_internal
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/strings/str_format (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/strings/str_format_internal
    - abseil/strings/string_view
    - abseil/types/span
    - abseil/xcprivacy
  - abseil/strings/str_format_internal (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/container/fixed_array
    - abseil/container/inlined_vector
    - 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/utility/utility
    - abseil/xcprivacy
  - abseil/strings/string_view (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/base/throw_delegate
    - abseil/xcprivacy
  - abseil/strings/strings (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/nullability
    - abseil/base/raw_logging_internal
    - abseil/base/throw_delegate
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/numeric/bits
    - abseil/numeric/int128
    - abseil/strings/charset
    - abseil/strings/internal
    - abseil/strings/string_view
    - abseil/xcprivacy
  - abseil/synchronization/graphcycles_internal (1.20240116.2):
    - abseil/base/base
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/malloc_internal
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/synchronization/kernel_timeout_internal (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/raw_logging_internal
    - abseil/time/time
    - abseil/xcprivacy
  - abseil/synchronization/synchronization (1.20240116.2):
    - 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/xcprivacy
  - abseil/time (1.20240116.2):
    - abseil/time/internal (= 1.20240116.2)
    - abseil/time/time (= 1.20240116.2)
  - abseil/time/internal (1.20240116.2):
    - abseil/time/internal/cctz (= 1.20240116.2)
  - abseil/time/internal/cctz (1.20240116.2):
    - abseil/time/internal/cctz/civil_time (= 1.20240116.2)
    - abseil/time/internal/cctz/time_zone (= 1.20240116.2)
  - abseil/time/internal/cctz/civil_time (1.20240116.2):
    - abseil/base/config
    - abseil/xcprivacy
  - abseil/time/internal/cctz/time_zone (1.20240116.2):
    - abseil/base/config
    - abseil/time/internal/cctz/civil_time
    - abseil/xcprivacy
  - abseil/time/time (1.20240116.2):
    - abseil/base/base
    - abseil/base/config
    - 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/optional
    - abseil/xcprivacy
  - abseil/types (1.20240116.2):
    - abseil/types/any (= 1.20240116.2)
    - abseil/types/bad_any_cast (= 1.20240116.2)
    - abseil/types/bad_any_cast_impl (= 1.20240116.2)
    - abseil/types/bad_optional_access (= 1.20240116.2)
    - abseil/types/bad_variant_access (= 1.20240116.2)
    - abseil/types/compare (= 1.20240116.2)
    - abseil/types/optional (= 1.20240116.2)
    - abseil/types/span (= 1.20240116.2)
    - abseil/types/variant (= 1.20240116.2)
  - abseil/types/any (1.20240116.2):
    - 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/xcprivacy
  - abseil/types/bad_any_cast (1.20240116.2):
    - abseil/base/config
    - abseil/types/bad_any_cast_impl
    - abseil/xcprivacy
  - abseil/types/bad_any_cast_impl (1.20240116.2):
    - abseil/base/config
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/types/bad_optional_access (1.20240116.2):
    - abseil/base/config
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/types/bad_variant_access (1.20240116.2):
    - abseil/base/config
    - abseil/base/raw_logging_internal
    - abseil/xcprivacy
  - abseil/types/compare (1.20240116.2):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/types/optional (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/types/bad_optional_access
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/types/span (1.20240116.2):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/base/nullability
    - abseil/base/throw_delegate
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/types/variant (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/types/bad_variant_access
    - abseil/utility/utility
    - abseil/xcprivacy
  - abseil/utility/utility (1.20240116.2):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/meta/type_traits
    - abseil/xcprivacy
  - abseil/xcprivacy (1.20240116.2)
  - Actions/Core (1.3.4)
  - AppAuth (1.7.5):
    - AppAuth/Core (= 1.7.5)
    - AppAuth/ExternalUserAgent (= 1.7.5)
  - AppAuth/Core (1.7.5)
  - AppAuth/ExternalUserAgent (1.7.5):
    - AppAuth/Core
  - Beacon (3.0.1)
  - BetterSegmentedControl (2.0.1)
  - BoringSSL-GRPC (0.0.36):
    - BoringSSL-GRPC/Implementation (= 0.0.36)
    - BoringSSL-GRPC/Interface (= 0.0.36)
  - BoringSSL-GRPC/Implementation (0.0.36):
    - BoringSSL-GRPC/Interface (= 0.0.36)
  - BoringSSL-GRPC/Interface (0.0.36)
  - Color-Picker-for-iOS (2.1.1)
  - DataCompression (3.8.0)
  - DNPWPSPrinter (1.0.2):
    - xaphodObjCUtils
  - Firebase (11.4.2):
    - Firebase/Core (= 11.4.2)
  - Firebase/Core (11.4.2):
    - Firebase/CoreOnly
    - FirebaseAnalytics (~> 11.4.0)
  - Firebase/CoreOnly (11.4.2):
    - FirebaseCore (= 11.4.2)
  - FirebaseAnalytics (11.4.0):
    - FirebaseAnalytics/AdIdSupport (= 11.4.0)
    - FirebaseCore (~> 11.0)
    - FirebaseInstallations (~> 11.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    - GoogleUtilities/MethodSwizzler (~> 8.0)
    - GoogleUtilities/Network (~> 8.0)
    - "GoogleUtilities/NSData+zlib (~> 8.0)"
    - nanopb (~> 3.30910.0)
  - FirebaseAnalytics/AdIdSupport (11.4.0):
    - FirebaseCore (~> 11.0)
    - FirebaseInstallations (~> 11.0)
    - GoogleAppMeasurement (= 11.4.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    - GoogleUtilities/MethodSwizzler (~> 8.0)
    - GoogleUtilities/Network (~> 8.0)
    - "GoogleUtilities/NSData+zlib (~> 8.0)"
    - nanopb (~> 3.30910.0)
  - FirebaseAppCheckInterop (11.4.0)
  - FirebaseAuth (11.4.0):
    - FirebaseAppCheckInterop (~> 11.0)
    - FirebaseAuthInterop (~> 11.0)
    - FirebaseCore (~> 11.4)
    - FirebaseCoreExtension (~> 11.4)
    - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    - GoogleUtilities/Environment (~> 8.0)
    - GTMSessionFetcher/Core (< 5.0, >= 3.4)
    - RecaptchaInterop (~> 100.0)
  - FirebaseAuthInterop (11.4.0)
  - FirebaseAuthUI (14.2.6):
    - FirebaseAuth (< 12.0, >= 11.0)
    - FirebaseCore
  - FirebaseCore (11.4.2):
    - FirebaseCoreInternal (< 12.0, >= 11.4.2)
    - GoogleUtilities/Environment (~> 8.0)
    - GoogleUtilities/Logger (~> 8.0)
  - FirebaseCoreExtension (11.4.1):
    - FirebaseCore (~> 11.0)
  - FirebaseCoreInternal (11.4.2):
    - "GoogleUtilities/NSData+zlib (~> 8.0)"
  - FirebaseCrashlytics (11.4.0):
    - FirebaseCore (~> 11.4)
    - FirebaseInstallations (~> 11.0)
    - FirebaseRemoteConfigInterop (~> 11.0)
    - FirebaseSessions (~> 11.0)
    - GoogleDataTransport (~> 10.0)
    - GoogleUtilities/Environment (~> 8.0)
    - nanopb (~> 3.30910.0)
    - PromisesObjC (~> 2.4)
  - FirebaseDynamicLinks (11.4.0):
    - FirebaseCore (~> 11.0)
  - FirebaseEmailAuthUI (14.2.3):
    - FirebaseAuth
    - FirebaseAuthUI (>= 14.2)
    - FirebaseCore
    - GoogleUtilities/UserDefaults
  - FirebaseFirestore (11.4.0):
    - FirebaseCore (~> 11.4)
    - FirebaseCoreExtension (~> 11.4)
    - FirebaseFirestoreInternal (= 11.4.0)
    - FirebaseSharedSwift (~> 11.0)
  - FirebaseFirestoreInternal (11.4.0):
    - abseil/algorithm (~> 1.20240116.1)
    - abseil/base (~> 1.20240116.1)
    - abseil/container/flat_hash_map (~> 1.20240116.1)
    - abseil/memory (~> 1.20240116.1)
    - abseil/meta (~> 1.20240116.1)
    - abseil/strings/strings (~> 1.20240116.1)
    - abseil/time (~> 1.20240116.1)
    - abseil/types (~> 1.20240116.1)
    - FirebaseAppCheckInterop (~> 11.0)
    - FirebaseCore (~> 11.0)
    - "gRPC-C++ (~> 1.65.0)"
    - gRPC-Core (~> 1.65.0)
    - leveldb-library (~> 1.22)
    - nanopb (~> 3.30910.0)
  - FirebaseGoogleAuthUI (14.2.2):
    - FirebaseAuth
    - FirebaseAuthUI (>= 14.2)
    - FirebaseCore
    - GoogleSignIn (~> 7.0)
  - FirebaseInstallations (11.4.0):
    - FirebaseCore (~> 11.0)
    - GoogleUtilities/Environment (~> 8.0)
    - GoogleUtilities/UserDefaults (~> 8.0)
    - PromisesObjC (~> 2.4)
  - FirebaseOAuthUI (14.2.0):
    - FirebaseAuth (< 12.0, >= 8.0)
    - FirebaseAuthUI (< 15.0, >= 12.0.2)
  - FirebaseRemoteConfigInterop (11.4.0)
  - FirebaseSessions (11.4.0):
    - FirebaseCore (~> 11.4)
    - FirebaseCoreExtension (~> 11.4)
    - FirebaseInstallations (~> 11.0)
    - GoogleDataTransport (~> 10.0)
    - GoogleUtilities/Environment (~> 8.0)
    - GoogleUtilities/UserDefaults (~> 8.0)
    - nanopb (~> 3.30910.0)
    - PromisesSwift (~> 2.1)
  - FirebaseSharedSwift (11.4.0)
  - FirebaseStorage (11.4.0):
    - FirebaseAppCheckInterop (~> 11.0)
    - FirebaseAuthInterop (~> 11.0)
    - FirebaseCore (~> 11.4)
    - FirebaseCoreExtension (~> 11.4)
    - GoogleUtilities/Environment (~> 8.0)
    - GTMSessionFetcher/Core (< 5.0, >= 3.4)
  - FirebaseUI/Auth (14.2.0):
    - FirebaseAuthUI (~> 14.2)
  - FirebaseUI/Email (14.2.0):
    - FirebaseEmailAuthUI (~> 14.2)
  - FirebaseUI/Google (14.2.0):
    - FirebaseGoogleAuthUI (~> 14.2)
  - FirebaseUI/OAuth (14.2.0):
    - FirebaseOAuthUI (~> 14.2)
  - GoogleAppMeasurement (11.4.0):
    - GoogleAppMeasurement/AdIdSupport (= 11.4.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    - GoogleUtilities/MethodSwizzler (~> 8.0)
    - GoogleUtilities/Network (~> 8.0)
    - "GoogleUtilities/NSData+zlib (~> 8.0)"
    - nanopb (~> 3.30910.0)
  - GoogleAppMeasurement/AdIdSupport (11.4.0):
    - GoogleAppMeasurement/WithoutAdIdSupport (= 11.4.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    - GoogleUtilities/MethodSwizzler (~> 8.0)
    - GoogleUtilities/Network (~> 8.0)
    - "GoogleUtilities/NSData+zlib (~> 8.0)"
    - nanopb (~> 3.30910.0)
  - GoogleAppMeasurement/WithoutAdIdSupport (11.4.0):
    - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    - GoogleUtilities/MethodSwizzler (~> 8.0)
    - GoogleUtilities/Network (~> 8.0)
    - "GoogleUtilities/NSData+zlib (~> 8.0)"
    - nanopb (~> 3.30910.0)
  - GoogleDataTransport (10.1.0):
    - nanopb (~> 3.30910.0)
    - PromisesObjC (~> 2.4)
  - GoogleSignIn (7.1.0):
    - AppAuth (< 2.0, >= 1.7.3)
    - GTMAppAuth (< 5.0, >= 4.1.1)
    - GTMSessionFetcher/Core (~> 3.3)
  - GoogleUtilities/AppDelegateSwizzler (8.0.2):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
    - GoogleUtilities/Privacy
  - GoogleUtilities/Environment (8.0.2):
    - GoogleUtilities/Privacy
  - GoogleUtilities/Logger (8.0.2):
    - GoogleUtilities/Environment
    - GoogleUtilities/Privacy
  - GoogleUtilities/MethodSwizzler (8.0.2):
    - GoogleUtilities/Logger
    - GoogleUtilities/Privacy
  - GoogleUtilities/Network (8.0.2):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Privacy
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (8.0.2)":
    - GoogleUtilities/Privacy
  - GoogleUtilities/Privacy (8.0.2)
  - GoogleUtilities/Reachability (8.0.2):
    - GoogleUtilities/Logger
    - GoogleUtilities/Privacy
  - GoogleUtilities/UserDefaults (8.0.2):
    - GoogleUtilities/Logger
    - GoogleUtilities/Privacy
  - "gRPC-C++ (1.65.5)":
    - "gRPC-C++/Implementation (= 1.65.5)"
    - "gRPC-C++/Interface (= 1.65.5)"
  - "gRPC-C++/Implementation (1.65.5)":
    - abseil/algorithm/container (~> 1.20240116.2)
    - abseil/base/base (~> 1.20240116.2)
    - abseil/base/config (~> 1.20240116.2)
    - abseil/base/core_headers (~> 1.20240116.2)
    - abseil/base/log_severity (~> 1.20240116.2)
    - abseil/base/no_destructor (~> 1.20240116.2)
    - abseil/cleanup/cleanup (~> 1.20240116.2)
    - abseil/container/flat_hash_map (~> 1.20240116.2)
    - abseil/container/flat_hash_set (~> 1.20240116.2)
    - abseil/container/inlined_vector (~> 1.20240116.2)
    - abseil/flags/flag (~> 1.20240116.2)
    - abseil/flags/marshalling (~> 1.20240116.2)
    - abseil/functional/any_invocable (~> 1.20240116.2)
    - abseil/functional/bind_front (~> 1.20240116.2)
    - abseil/functional/function_ref (~> 1.20240116.2)
    - abseil/hash/hash (~> 1.20240116.2)
    - abseil/log/absl_check (~> 1.20240116.2)
    - abseil/log/absl_log (~> 1.20240116.2)
    - abseil/log/check (~> 1.20240116.2)
    - abseil/log/globals (~> 1.20240116.2)
    - abseil/log/log (~> 1.20240116.2)
    - abseil/memory/memory (~> 1.20240116.2)
    - abseil/meta/type_traits (~> 1.20240116.2)
    - abseil/random/bit_gen_ref (~> 1.20240116.2)
    - abseil/random/distributions (~> 1.20240116.2)
    - abseil/random/random (~> 1.20240116.2)
    - abseil/status/status (~> 1.20240116.2)
    - abseil/status/statusor (~> 1.20240116.2)
    - abseil/strings/cord (~> 1.20240116.2)
    - abseil/strings/str_format (~> 1.20240116.2)
    - abseil/strings/strings (~> 1.20240116.2)
    - abseil/synchronization/synchronization (~> 1.20240116.2)
    - abseil/time/time (~> 1.20240116.2)
    - abseil/types/optional (~> 1.20240116.2)
    - abseil/types/span (~> 1.20240116.2)
    - abseil/types/variant (~> 1.20240116.2)
    - abseil/utility/utility (~> 1.20240116.2)
    - "gRPC-C++/Interface (= 1.65.5)"
    - "gRPC-C++/Privacy (= 1.65.5)"
    - gRPC-Core (= 1.65.5)
  - "gRPC-C++/Interface (1.65.5)"
  - "gRPC-C++/Privacy (1.65.5)"
  - gRPC-Core (1.65.5):
    - gRPC-Core/Implementation (= 1.65.5)
    - gRPC-Core/Interface (= 1.65.5)
  - gRPC-Core/Implementation (1.65.5):
    - abseil/algorithm/container (~> 1.20240116.2)
    - abseil/base/base (~> 1.20240116.2)
    - abseil/base/config (~> 1.20240116.2)
    - abseil/base/core_headers (~> 1.20240116.2)
    - abseil/base/log_severity (~> 1.20240116.2)
    - abseil/base/no_destructor (~> 1.20240116.2)
    - abseil/cleanup/cleanup (~> 1.20240116.2)
    - abseil/container/flat_hash_map (~> 1.20240116.2)
    - abseil/container/flat_hash_set (~> 1.20240116.2)
    - abseil/container/inlined_vector (~> 1.20240116.2)
    - abseil/flags/flag (~> 1.20240116.2)
    - abseil/flags/marshalling (~> 1.20240116.2)
    - abseil/functional/any_invocable (~> 1.20240116.2)
    - abseil/functional/bind_front (~> 1.20240116.2)
    - abseil/functional/function_ref (~> 1.20240116.2)
    - abseil/hash/hash (~> 1.20240116.2)
    - abseil/log/check (~> 1.20240116.2)
    - abseil/log/globals (~> 1.20240116.2)
    - abseil/log/log (~> 1.20240116.2)
    - abseil/memory/memory (~> 1.20240116.2)
    - abseil/meta/type_traits (~> 1.20240116.2)
    - abseil/random/bit_gen_ref (~> 1.20240116.2)
    - abseil/random/distributions (~> 1.20240116.2)
    - abseil/random/random (~> 1.20240116.2)
    - abseil/status/status (~> 1.20240116.2)
    - abseil/status/statusor (~> 1.20240116.2)
    - abseil/strings/cord (~> 1.20240116.2)
    - abseil/strings/str_format (~> 1.20240116.2)
    - abseil/strings/strings (~> 1.20240116.2)
    - abseil/synchronization/synchronization (~> 1.20240116.2)
    - abseil/time/time (~> 1.20240116.2)
    - abseil/types/optional (~> 1.20240116.2)
    - abseil/types/span (~> 1.20240116.2)
    - abseil/types/variant (~> 1.20240116.2)
    - abseil/utility/utility (~> 1.20240116.2)
    - BoringSSL-GRPC (= 0.0.36)
    - gRPC-Core/Interface (= 1.65.5)
    - gRPC-Core/Privacy (= 1.65.5)
  - gRPC-Core/Interface (1.65.5)
  - gRPC-Core/Privacy (1.65.5)
  - GTMAppAuth (4.1.1):
    - AppAuth/Core (~> 1.7)
    - GTMSessionFetcher/Core (< 4.0, >= 3.3)
  - GTMSessionFetcher/Core (3.5.0)
  - leveldb-library (1.22.6)
  - LicensePlist (3.25.1)
  - MetalPetal/Core (1.25.2)
  - MetalPetal/Swift (1.25.2):
    - MetalPetal/Core
  - nanopb (3.30910.0):
    - nanopb/decode (= 3.30910.0)
    - nanopb/encode (= 3.30910.0)
  - nanopb/decode (3.30910.0)
  - nanopb/encode (3.30910.0)
  - PhoneNumberKit (4.0.0):
    - PhoneNumberKit/PhoneNumberKitCore (= 4.0.0)
    - PhoneNumberKit/UIKit (= 4.0.0)
  - PhoneNumberKit/PhoneNumberKitCore (4.0.0)
  - PhoneNumberKit/UIKit (4.0.0):
    - PhoneNumberKit/PhoneNumberKitCore
  - PromisesObjC (2.4.0)
  - PromisesSwift (2.4.0):
    - PromisesObjC (= 2.4.0)
  - RecaptchaInterop (100.0.0)
  - SDWebImage (5.19.7):
    - SDWebImage/Core (= 5.19.7)
  - SDWebImage/Core (5.19.7)
  - VideoNetworkFramework (1.1.7):
    - VideoNetworkFramework/Core (= 1.1.7)
  - VideoNetworkFramework/Core (1.1.7):
    - DataCompression (< 4.0.0)
  - xaphodObjCUtils (0.0.13):
    - xaphodObjCUtils/CocoaRunloopSocket (= 0.0.13)
    - xaphodObjCUtils/RXTimer (= 0.0.13)
  - xaphodObjCUtils/CocoaRunloopSocket (0.0.13)
  - xaphodObjCUtils/RXTimer (0.0.13)

DEPENDENCIES:
  - "Actions/Core (from `git@github.com:xaphod/Actions.git`)"
  - Beacon
  - BetterSegmentedControl
  - Color-Picker-for-iOS (from `https://github.com/xaphod/Color-Picker-for-iOS.git`)
  - "DNPWPSPrinter (from `git@github.com:xaphod/DNPWPSPrinter.git`)"
  - Firebase
  - FirebaseAnalytics
  - FirebaseAuth
  - FirebaseCore
  - FirebaseCrashlytics
  - FirebaseDynamicLinks
  - FirebaseFirestore
  - FirebaseStorage
  - FirebaseUI/Auth
  - FirebaseUI/Email
  - FirebaseUI/Google
  - FirebaseUI/OAuth
  - LicensePlist
  - MetalPetal/Swift
  - PhoneNumberKit (from `https://github.com/marmelroy/PhoneNumberKit`)
  - SDWebImage
  - "VideoNetworkFramework (from `git@github.com:xaphod/VideoNetworkFramework.git`)"
  - "xaphodObjCUtils (from `git@github.com:xaphod/xaphodObjCUtils.git`)"
  - "xaphodObjCUtils/RXTimer (from `git@github.com:xaphod/xaphodObjCUtils.git`)"

SPEC REPOS:
  trunk:
    - abseil
    - AppAuth
    - Beacon
    - BetterSegmentedControl
    - BoringSSL-GRPC
    - DataCompression
    - Firebase
    - FirebaseAnalytics
    - FirebaseAppCheckInterop
    - FirebaseAuth
    - FirebaseAuthInterop
    - FirebaseAuthUI
    - FirebaseCore
    - FirebaseCoreExtension
    - FirebaseCoreInternal
    - FirebaseCrashlytics
    - FirebaseDynamicLinks
    - FirebaseEmailAuthUI
    - FirebaseFirestore
    - FirebaseFirestoreInternal
    - FirebaseGoogleAuthUI
    - FirebaseInstallations
    - FirebaseOAuthUI
    - FirebaseRemoteConfigInterop
    - FirebaseSessions
    - FirebaseSharedSwift
    - FirebaseStorage
    - FirebaseUI
    - GoogleAppMeasurement
    - GoogleDataTransport
    - GoogleSignIn
    - GoogleUtilities
    - "gRPC-C++"
    - gRPC-Core
    - GTMAppAuth
    - GTMSessionFetcher
    - leveldb-library
    - LicensePlist
    - MetalPetal
    - nanopb
    - PromisesObjC
    - PromisesSwift
    - RecaptchaInterop
    - SDWebImage

EXTERNAL SOURCES:
  Actions:
    :git: "git@github.com:xaphod/Actions.git"
  Color-Picker-for-iOS:
    :git: https://github.com/xaphod/Color-Picker-for-iOS.git
  DNPWPSPrinter:
    :git: "git@github.com:xaphod/DNPWPSPrinter.git"
  PhoneNumberKit:
    :git: https://github.com/marmelroy/PhoneNumberKit
  VideoNetworkFramework:
    :git: "git@github.com:xaphod/VideoNetworkFramework.git"
  xaphodObjCUtils:
    :git: "git@github.com:xaphod/xaphodObjCUtils.git"

CHECKOUT OPTIONS:
  Actions:
    :commit: 555a9fe7157308d1109fa5eec47ae3730f559206
    :git: "git@github.com:xaphod/Actions.git"
  Color-Picker-for-iOS:
    :commit: 794dadd0e579af296a0b1434ac67fa0e27c68ed8
    :git: https://github.com/xaphod/Color-Picker-for-iOS.git
  DNPWPSPrinter:
    :commit: fc48891e6a445e60c5286c71665b97a71f6f0915
    :git: "git@github.com:xaphod/DNPWPSPrinter.git"
  PhoneNumberKit:
    :commit: 0fb5075ee09fa6637055918afc9f9258b908ba60
    :git: https://github.com/marmelroy/PhoneNumberKit
  VideoNetworkFramework:
    :commit: 696ede9d2d6a97ad3dd991dafcf9a4d4e796df7f
    :git: "git@github.com:xaphod/VideoNetworkFramework.git"
  xaphodObjCUtils:
    :commit: 67815dc59a9e5d57786c7bae09c153af8fbd5161
    :git: "git@github.com:xaphod/xaphodObjCUtils.git"

SPEC CHECKSUMS:
  abseil: d121da9ef7e2ff4cab7666e76c5a3e0915ae08c3
  Actions: 54a86aef7fae1b0d766dbc83979521e1e86852df
  AppAuth: 501c04eda8a8d11f179dbe8637b7a91bb7e5d2fa
  Beacon: e6793fcd1fefe8fe9436a0bad3e79e7678e16105
  BetterSegmentedControl: 09607b27861d49cbce48b7673b74f9150a3d371a
  BoringSSL-GRPC: ca6a8e5d04812fce8ffd6437810c2d46f925eaeb
  Color-Picker-for-iOS: 656c04b439d8f610593443e4ebcec611cfba26f7
  DataCompression: 630f9e7db6360b4d8929fb72fbd23689ca43bc16
  DNPWPSPrinter: 06470dccdc79fcf9073766df58d6b53c6b22f9e2
  Firebase: 7fd5466678d964be78fbf536d8a3385da19c4828
  FirebaseAnalytics: 3feef9ae8733c567866342a1000691baaa7cad49
  FirebaseAppCheckInterop: 1b9643ae2f1ee214488caa2f8e32b7bc2f0f3735
  FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6
  FirebaseAuthInterop: 9ac948965ac13ec9d8a080f39490ddb2bda30520
  FirebaseAuthUI: 8e5c09b20bf11478b9fa42c7ed6575fa95807c86
  FirebaseCore: 6b32c57269bd999aab34354c3923d92a6e5f3f84
  FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e
  FirebaseCoreInternal: 35731192cab10797b88411be84940d2beb33a238
  FirebaseCrashlytics: 41bbdd2b514a8523cede0c217aee6ef7ecf38401
  FirebaseDynamicLinks: 192110d77418357fe994f2823a7df7db3ccb15bf
  FirebaseEmailAuthUI: c448736db9fcd5895d29229a9e0aec016ece0389
  FirebaseFirestore: 2ccdf893fd7e175aa8ec58faa06338b346d27db8
  FirebaseFirestoreInternal: 004452c4669d5df8869c9f8f7a24ee0009852d5b
  FirebaseGoogleAuthUI: bbfd673275e4a4a4a3d0e451884087452d088453
  FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414
  FirebaseOAuthUI: 13e6b83a4e9680f2806107d7b383ede1f550e499
  FirebaseRemoteConfigInterop: e76f46ffa4d6a65e273d4dfebb6a79e588cec136
  FirebaseSessions: 3f56f177d9e53a85021d16b31f9a111849d1dd8b
  FirebaseSharedSwift: 505dae2d05969dbf6d43749a642bb1bf230f0252
  FirebaseStorage: 1bf8f80ac3bb02c72844b7350e95e10be7113ef0
  FirebaseUI: 3909853fc34f316c822e195376f144b1b0c6ca15
  GoogleAppMeasurement: 987769c4ca6b968f2479fbcc9fe3ce34af454b8e
  GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
  GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db
  GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
  "gRPC-C++": 2fa52b3141e7789a28a737f251e0c45b4cb20a87
  gRPC-Core: a27c294d6149e1c39a7d173527119cfbc3375ce4
  GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
  GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
  leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19
  LicensePlist: 8a2019452d6a6376d2b5a40e4170af6b62f51ee5
  MetalPetal: 001513fa0b0f6d4f147aa2651d40c594f2eacb01
  nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
  PhoneNumberKit: fca23e22dcd17f602577f177bdd502512190e52e
  PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
  PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
  RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
  SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3
  VideoNetworkFramework: f13f054dd26a31954425b1f438132e939929e55d
  xaphodObjCUtils: c0ff01ae6577c9a30f0c0c52e5bcbf1ba568c02d

PODFILE CHECKSUM: 0e54a56940d477120952330cb7cc74a2348522f7

COCOAPODS: 1.15.2
@google-oss-bot
Copy link

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

@cherylEnkidu
Copy link
Contributor

cherylEnkidu commented Nov 4, 2024

Added back crashlytics since according to the flutter ticket linked, this also happens in crashlytics as well.like

crashlytics doesn't depend on grpc

@themiswang
Copy link
Contributor

themiswang commented Nov 4, 2024

Remove Crashlytics, it has nothing to do with Crashlytics. We only record the crash.
Edit: seems like there is a timing difference on change :)

@cherylEnkidu cherylEnkidu self-assigned this Nov 4, 2024
@bdaz
Copy link

bdaz commented Nov 6, 2024

I'm seeing lots of this too.

@jbwise
Copy link

jbwise commented Nov 7, 2024

In all of our crash reports, we see the offending thread looks like this (also attached):
crash.txt

#0 0x0000000104b29208 in grpc_event_engine::experimental::MemoryAllocator::MakeSlice(grpc_event_engine::experimental::MemoryRequest) at .../ios/Pods/gRPC-Core/include/grpc/event_engine/memory_allocator.h:137
#1 0x0000000104b29208 in flush_read_staging_buffer((anonymous namespace)::secure_endpoint*, unsigned char**, unsigned char**) at .../ios/Pods/gRPC-Core/src/core/handshaker/security/secure_endpoint.cc:229
#2 0x0000000104b29208 in on_read(void*, absl::lts_20240116::Status) at .../ios/Pods/gRPC-Core/src/core/handshaker/security/secure_endpoint.cc:311
#3 0x00000001049ecccc in exec_ctx_run(grpc_closure*) at .../ios/Pods/gRPC-Core/src/core/lib/iomgr/exec_ctx.cc:45
#4 0x00000001049ecccc in grpc_core::ExecCtx::Flush() at .../ios/Pods/gRPC-Core/src/core/lib/iomgr/exec_ctx.cc:84
#5 0x00000001048fe2d8 in grpc_core::ExecCtx::~ExecCtx() at .../ios/Pods/gRPC-C++/src/core/lib/iomgr/exec_ctx.h:132
#6 0x00000001049d7c28 in grpc_core::ExecCtx::~ExecCtx() at .../ios/Pods/gRPC-C++/src/core/lib/iomgr/exec_ctx.h:130
#7 0x00000001049d7c28 in grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::FinishPendingRead(absl::lts_20240116::Status) at .../ios/Pods/gRPC-Core/src/core/lib/iomgr/endpoint.cc:142
#8 0x00000001049d7fac in grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*, grpc_event_engine::experimental::EventEngine::Endpoint::ReadArgs const*):... at .../ios/Pods/gRPC-Core/src/core/lib/iomgr/endpoint.cc:113
#9 0x00000001049d7fac in decltype(std::declval<grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*, grpc_event_engine::experimental::EventEngine::Endpo... at .../ios/Pods/abseil/absl/base/internal/invoke.h:185
#10 0x00000001049d7fac in decltype(Invoker<grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*, grpc_event_engine::experimental::EventEngine::Endpoint::... at .../ios/Pods/abseil/absl/base/internal/invoke.h:212
#11 0x00000001049d7fac in void absl::lts_20240116::internal_any_invocable::InvokeR<void, grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*, grpc_event... at .../ios/Pods/abseil/absl/functional/any_invocable.h:132
#12 0x00000001049d7fac in void absl::lts_20240116::internal_any_invocable::LocalInvoker<false, void, grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*... at .../ios/Pods/abseil/absl/functional/any_invocable.h:310
#13 0x000000010493ae80 in absl::lts_20240116::internal_any_invocable::Impl<void (absl::lts_20240116::Status)>::operator()(absl::lts_20240116::Status) at .../ios/Pods/abseil/absl/functional/any_invocable.h:868
#14 0x000000010493ae80 in grpc_event_engine::experimental::CFStreamEndpointImpl::DoRead(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*) at .../ios/Pods/gRPC-Core/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc:302
#15 0x000000010493be30 in grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*, grpc_event_engine::ex... at .../ios/Pods/gRPC-Core/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc:269
#16 0x000000010493be30 in decltype(std::declval<grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*,... at .../ios/Pods/abseil/absl/base/internal/invoke.h:185
#17 0x000000010493be30 in decltype(Invoker<grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*, grpc... at .../ios/Pods/abseil/absl/base/internal/invoke.h:212
#18 0x000000010493be30 in void absl::lts_20240116::internal_any_invocable::InvokeR<void, grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_... at .../ios/Pods/abseil/absl/functional/any_invocable.h:132
#19 0x000000010493be30 in void absl::lts_20240116::internal_any_invocable::RemoteInvoker<false, void, grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::St... at .../ios/Pods/abseil/absl/functional/any_invocable.h:368
#20 0x000000010493b644 in absl::lts_20240116::internal_any_invocable::Impl<void (absl::lts_20240116::Status)>::operator()(absl::lts_20240116::Status) at .../ios/Pods/abseil/absl/functional/any_invocable.h:868
#21 0x000000010493b644 in grpc_event_engine::experimental::PosixEngineClosure::Run() at .../ios/Pods/gRPC-C++/src/core/lib/event_engine/posix_engine/posix_engine_closure.h:49
#22 0x0000000104bb4e64 in grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::Step() at .../ios/Pods/gRPC-Core/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc:580
#23 0x0000000104bb49cc in grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::ThreadBody() at .../ios/Pods/gRPC-Core/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc:494
#24 0x0000000104bb5210 in grpc_event_engine::experimental::WorkStealingThreadPool::WorkStealingThreadPoolImpl::StartThread()::$_0::operator()(void*) const at .../ios/Pods/gRPC-Core/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc:261
#25 0x0000000104bb5210 in grpc_event_engine::experimental::WorkStealingThreadPool::WorkStealingThreadPoolImpl::StartThread()::$_0::__invoke(void*) at .../ios/Pods/gRPC-Core/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc:259
#26 0x0000000104b8af9c in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void ()(void), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::operator()(void*) const at .../ios/Pods/gRPC-Core/src/core/lib/gprpp/posix/thd.cc:148
#27 0x0000000104b8af9c in grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void ()(void), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) at .../ios/Pods/gRPC-Core/src/core/lib/gprpp/posix/thd.cc:118
#28 (null) in _pthread_start ()
#29 (null) in thread_start ()

@xaphod
Copy link
Author

xaphod commented Nov 7, 2024

Looking forward to an update here, as this is impacting our users.
Although the crash seems to have been caused by the update of building with the iOS 18 SDK in XCode 16, it isn't limited to crashes on iOS 18 - we have most of the crashes occurring on iOS 17.

@cherylEnkidu
Copy link
Contributor

Hi folks,

The team tried to reproduce on our side but didn't get a successful sample so far. We would be appreciate if we can get a repo for this issue to help use investigate.

@xaphod
Copy link
Author

xaphod commented Nov 7, 2024

For us it repros for few users so we cannot get a repro, but for those users they hit it multiple times.
Most common devices are iPad 7th generation and iPad Pro 10.5".
Both of those are considerably older devices with slower SoCs, so if you're testing + looking for a repro i'd start with running on older devices.

@jbwise
Copy link

jbwise commented Nov 7, 2024

We are not able to reproduce it in debugging. It only happens on deployed devices. It is far more common on an iPhone 13, and very difficult to reproduce on an iPhone 14. My guess right now is that it is trying to allocate memory when coming back from sleep before iOS is allowing it to do so. I may add some delays to the code just to try testing my theory. We are able to build and deploy changes and replicate the error via test flight, but I only get the crash report, no legitimate debug information.

@Wackymax
Copy link

Wackymax commented Nov 8, 2024

Looking at my crash reports it seems like this always happens when the app is running in the background. I've personally seen the crash happen on my device, and it often happens after a few minutes after the app has been backgrounded. Maybe Firestore is trying to do something just as iOS is putting the app to sleep?

@xaphod
Copy link
Author

xaphod commented Nov 11, 2024

Here's one that is similar but different:

          Crashed: Thread
0  grpc                           0x1d6264 grpc_core::(anonymous namespace)::PickFirst::GoIdle() + 620 (pick_first.cc:620)
1  grpc                           0x1d57e4 grpc_core::(anonymous namespace)::PickFirst::SubchannelList::SubchannelData::SubchannelState::Watcher::OnConnectivityStateChange(grpc_connectivity_state, absl::lts_20240116::Status) + 787 (pick_first.cc:787)
2  grpc                           0xb6bc0 grpc_core::ClientChannelFilter::SubchannelWrapper::WatcherWrapper::ApplyUpdateInControlPlaneWorkSerializer(grpc_connectivity_state, absl::lts_20240116::Status const&) + 814 (status.h:814)
3  grpc                           0xb6a24 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne180100]<grpc_core::ClientChannelFilter::SubchannelWrapper::WatcherWrapper::OnConnectivityStateChange(grpc_core::RefCountedPtr<grpc_core::Subchannel::ConnectivityStateWatcherInterface>, grpc_connectivity_state, absl::lts_20240116::Status const&)::'lambda'()&>(grpc_core::ClientChannelFilter::SubchannelWrapper::WatcherWrapper::OnConnectivityStateChange(grpc_core::RefCountedPtr<grpc_core::Subchannel::ConnectivityStateWatcherInterface>, grpc_connectivity_state, absl::lts_20240116::Status const&)::'lambda'()&) + 365 (ref_counted.h:365)
4  grpc                           0x2c9130 grpc_core::WorkSerializer::LegacyWorkSerializer::Run(std::__1::function<void ()>, grpc_core::DebugLocation const&) + 416 (function.h:416)
5  grpc                           0x2ca2fc grpc_core::WorkSerializer::Run(std::__1::function<void ()>, grpc_core::DebugLocation const&) + 395 (function.h:395)
6  grpc                           0xb647c grpc_core::ClientChannelFilter::SubchannelWrapper::WatcherWrapper::OnConnectivityStateChange(grpc_core::RefCountedPtr<grpc_core::Subchannel::ConnectivityStateWatcherInterface>, grpc_connectivity_state, absl::lts_20240116::Status const&) + 395 (function.h:395)
7  grpc                           0x28b598 std::__1::__function::__func<grpc_core::Subchannel::ConnectivityStateWatcherList::NotifyLocked(grpc_connectivity_state, absl::lts_20240116::Status const&)::$_0, std::__1::allocator<grpc_core::Subchannel::ConnectivityStateWatcherList::NotifyLocked(grpc_connectivity_state, absl::lts_20240116::Status const&)::$_0>, void ()>::operator()() + 112 (ref_counted_ptr.h:112)
8  grpc                           0x2c9454 grpc_core::WorkSerializer::LegacyWorkSerializer::DrainQueueOwned() + 395 (function.h:395)
9  grpc                           0x28c65c grpc_core::Subchannel::ConnectedSubchannelStateWatcher::OnConnectivityStateChange(grpc_connectivity_state, absl::lts_20240116::Status const&) + 439 (subchannel.cc:439)
10 grpc                           0xd0398 grpc_core::AsyncConnectivityStateWatcherInterface::Notifier::SendNotification(void*, absl::lts_20240116::Status) + 814 (status.h:814)
11 grpc                           0x104ccc grpc_core::ExecCtx::Flush() + 814 (status.h:814)
12 grpc                           0x162d8 grpc_core::ExecCtx::~ExecCtx() + 133 (exec_ctx.h:133)
13 grpc                           0xefc28 grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::FinishPendingRead(absl::lts_20240116::Status) + 304 (exec_ctx.h:304)
14 grpc                           0xeffac void absl::lts_20240116::internal_any_invocable::LocalInvoker<false, void, grpc_event_engine::experimental::(anonymous namespace)::EventEngineEndpointWrapper::Read(grpc_closure*, grpc_slice_buffer*, grpc_event_engine::experimental::EventEngine::Endpoint::ReadArgs const*)::'lambda'(absl::lts_20240116::Status)&, absl::lts_20240116::Status>(absl::lts_20240116::internal_any_invocable::TypeErasedState*, absl::lts_20240116::internal_any_invocable::ForwardedParameter<absl::lts_20240116::Status>::type) + 814 (status.h:814)
15 grpc                           0x52e80 grpc_event_engine::experimental::CFStreamEndpointImpl::DoRead(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*) + 814 (status.h:814)
16 grpc                           0x53e30 void absl::lts_20240116::internal_any_invocable::RemoteInvoker<false, void, grpc_event_engine::experimental::CFStreamEndpointImpl::Read(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::Status)>, grpc_event_engine::experimental::SliceBuffer*, grpc_event_engine::experimental::EventEngine::Endpoint::ReadArgs const*)::$_0&, absl::lts_20240116::Status>(absl::lts_20240116::internal_any_invocable::TypeErasedState*, absl::lts_20240116::internal_any_invocable::ForwardedParameter<absl::lts_20240116::Status>::type) + 508 (any_invocable.h:508)
17 grpc                           0x53644 grpc_event_engine::experimental::PosixEngineClosure::Run() + 814 (status.h:814)
18 grpc                           0x2cce64 grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::Step() + 1394 (vector:1394)
19 grpc                           0x2cc9cc grpc_event_engine::experimental::WorkStealingThreadPool::ThreadState::ThreadBody() + 494 (work_stealing_thread_pool.cc:494)
20 grpc                           0x2cd210 grpc_event_engine::experimental::WorkStealingThreadPool::WorkStealingThreadPoolImpl::StartThread()::$_0::__invoke(void*) + 262 (work_stealing_thread_pool.cc:262)
21 grpc                           0x2a2f9c grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 149 (thd.cc:149)
22 libsystem_pthread.dylib        0x637c _pthread_start + 136
23 libsystem_pthread.dylib        0x1494 thread_start + 8   

@jbwise
Copy link

jbwise commented Nov 12, 2024

I don't know if this is helpful at all, but if I build the app and run it with "flutter run", in debug mode, the app will not crash at all. But if I run it with the --release flag, the app fires up and I can get it to crash within a few seconds. I can get it to crash by opening a file_picker dialog and switching the app to the background, to the foreground, over and over... it usually crashes the 3rd or 4th time it comes back to the foreground.

Unfortunately, because it only crashes in release mode, I don't get any debug information or stack trace or anything useful. I'll keep trying to find a way to get more information. We are not able to release any updates to our product until this is resolved, so we're quite dependent on finding a fix!

@cnkygmr
Copy link

cnkygmr commented Nov 13, 2024

same crash cocoapods 1.16.2 xcodeproj 1.27.0

#13996 (comment)

@cnkygmr
Copy link

cnkygmr commented Nov 14, 2024

Cocoapods 1.16.2 ve xcodeproj 1.27.0'a yükselttikten sonra, bu hatalar daha önce pod dosyasına eklediğimiz ['CLANG_CXX_LANGUAGE_STANDARD'] = 'gnu++14' öğesini kaldırmadığım için mi oluşuyor?

@jbwise
Copy link

jbwise commented Nov 14, 2024

I'm going to pass on any information I can collect - hopefully some of it is useful. I attached to the didChangeAppLifecycleState. The crash always occurs in the AppLifecycleState.inactive state (while going from paused to hidden to inactive, before it gets to resumed). My current theory is that there are stream events being processed when the app is coming out of the hidden state... iOS now doesn't like it when memory is allocated for those stream changes during the inactive state - so we need to wait until we get into the resumed state before processing the stream updates.

I don't know all of the details around the streams or the interactions with gRPC or what's going on, but I'm hoping sharing these details will help someone who does.

@jbwise
Copy link

jbwise commented Nov 14, 2024

It seems the listener in FLTQuerySnapshotStreamHandler.m is where the issue begins. Is it possible to wait for the applicationState to be UIApplicationStateActive before it tries allocating the memory?

  dispatch_async(dispatch_get_main_queue(), ^{
    NSMutableArray *toListResult = [[NSMutableArray alloc] initWithCapacity:3];

    NSMutableArray *documents =
        [[NSMutableArray alloc] initWithCapacity:snapshot.documents.count];
    NSMutableArray *documentChanges =
        [[NSMutableArray alloc] initWithCapacity:snapshot.documentChanges.count];

    for (FIRDocumentSnapshot *documentSnapshot in snapshot.documents) {
      [documents addObject:[[FirestorePigeonParser
                               toPigeonDocumentSnapshot:documentSnapshot
                                serverTimestampBehavior:self.serverTimestampBehavior] toList]];
    }

    for (FIRDocumentChange *documentChange in snapshot.documentChanges) {
      [documentChanges
          addObject:[[FirestorePigeonParser toPigeonDocumentChange:documentChange
                                           serverTimestampBehavior:self.serverTimestampBehavior]
                        toList]];
    }

    [toListResult addObject:documents];
    [toListResult addObject:documentChanges];
    [toListResult
        addObject:[[FirestorePigeonParser toPigeonSnapshotMetadata:snapshot.metadata] toList]];

    events(toListResult);
  });

@jbwise
Copy link

jbwise commented Nov 14, 2024

More information! I had a Stream that was loading 430 items from a Firebase datastore. When I updated the query for that stream to only pull 3, all of the crashes went away. Perhaps trying to allocate memory for 430 items is exceeding what iOS is willing to give it? I'm going to see what I can do to reduce the calls to get that object.... but, check for streams returning large sets of data.

@MRtootisabz
Copy link

same error with gRPC, could not read json file

@bdaz
Copy link

bdaz commented Nov 20, 2024

Still seeing this in my crash logs, including with 11.4.2.

@superphil0
Copy link

We have been able to get this as well on our staging environment during testing.
It happened when the app was backgrounded for 5+ minutes coming into foreground again but its not consistently reproducible

#0 0x0000000101fd4470 in grpc_event_engine::experimental::MemoryAllocator::MakeSlice(grpc_event_engine::experimental::MemoryRequest) at /Users/philipp/code/sequel/apps/mobile-app/ios/Pods/gRPC-Core/include/grpc/event_engine/memory_allocator.h:137

iOS 18.1 (22B83)
iPhone 14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests