firebase / firebase/firebase-ios-sdk

grpc_core::promise_filter_detail::BaseCallData::SendMessage::StartOp(grpc_core::promise_filter_detail::BaseCallData::CapturedBatch)

Open
#15,294 8 comments 0 reactions 1 assignee Claimed by @MarkDuckworth View on GitHub
api: firestore
Dominant language
C++
Stars
6.7k
Forks
1.8k
Avg merge
2d 14h
Merged PRs (30d)
72

Description

### Description

Hey team,
According to Firebase Crashlytics, we’re seeing a gRPC-related issue on iOS 18 devices when the app is in the foreground. I’ve attached the log file below. Unfortunately, it’s been tough to reproduce on our side.
Thanks a lot for your support!

### Reproducing the issue

_No response_

### Firebase SDK Version

11.15.0

### Xcode Version

16.2

### Installation Method

Swift Package Manager

### Firebase Product(s)

Firestore, Analytics, Authentication, Crashlytics, DynamicLinks, Remote Config

### Targeted Platforms

iOS

### Relevant Log Output

```shell
Crashed: com.google.firebase.firestore
0 libsystem_kernel.dylib 0xb1dc __pthread_kill + 8
1 libsystem_pthread.dylib 0x7b40 pthread_kill + 268
2 libsystem_c.dylib 0x772d0 abort + 124
3 Motorist 0x14c0da8 grpc_core::Crash(absl::lts_20240722::string_view, grpc_core::SourceLocation) + 19488
4 Motorist 0x15ce9a8 grpc_core::promise_filter_detail::BaseCallData::SendMessage::StartOp(grpc_core::promise_filter_detail::BaseCallData::CapturedBatch) + 13284
5 Motorist 0x15d2838 grpc_core::promise_filter_detail::ClientCallData::StartBatch(grpc_transport_stream_op_batch*) + 29300
6 Motorist 0x1453d38 grpc_call_next_op(grpc_call_element*, grpc_transport_stream_op_batch*) + 12748
7 Motorist 0x15ce6e8 grpc_core::promise_filter_detail::BaseCallData::Flusher::~Flusher() + 12580
8 Motorist 0x15d2a48 grpc_core::promise_filter_detail::ClientCallData::StartBatch(grpc_transport_stream_op_batch*) + 29828
9 Motorist 0x1453d38 grpc_call_next_op(grpc_call_element*, grpc_transport_stream_op_batch*) + 12748
10 Motorist 0x15ce6e8 grpc_core::promise_filter_detail::BaseCallData::Flusher::~Flusher() + 12580
11 Motorist 0x15d2a48 grpc_core::promise_filter_detail::ClientCallData::StartBatch(grpc_transport_stream_op_batch*) + 29828
12 Motorist 0x164212c grpc_core::SubchannelCall::StartTransportStreamOpBatch(grpc_transport_stream_op_batch*) + 486248
13 Motorist 0x149c588 grpc_core::ClientChannelFilter::FilterBasedLoadBalancedCall::StartTransportStreamOpBatch(grpc_transport_stream_op_batch*) + 59844
14 Motorist 0x15f8304 grpc_core::RetryFilter::LegacyCallData::StartTransportStreamOpBatch(grpc_transport_stream_op_batch*) + 183616
15 Motorist 0x14d3f34 grpc_core::DynamicFilters::Call::StartTransportStreamOpBatch(grpc_transport_stream_op_batch*) + 2820
16 Motorist 0x1491e64 grpc_core::ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(grpc_call_element*, grpc_transport_stream_op_batch*) + 17056
17 Motorist 0x1453d38 grpc_call_next_op(grpc_call_element*, grpc_transport_stream_op_batch*) + 12748
18 Motorist 0x15ce6e8 grpc_core::promise_filter_detail::BaseCallData::Flusher::~Flusher() + 12580
19 Motorist 0x15d2a48 grpc_core::promise_filter_detail::ClientCallData::StartBatch(grpc_transport_stream_op_batch*) + 29828
20 Motorist 0x1507e70 grpc_core::FilterStackCall::ExecuteBatch(grpc_transport_stream_op_batch*, grpc_closure*)::$_1::__invoke(void*, absl::lts_20240722::Status) + 215616
21 Motorist 0x14ee428 grpc_core::ExecCtx::Flush() + 110584
22 Motorist 0x13f4fbc grpc_core::ExecCtx::~ExecCtx() + 64992
23 Motorist 0x141e6b4 grpc_call_start_batch + 8772
24 Motorist 0x12f83bc grpc::internal::CallOpSet, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6>>::ContinueFillOpsAfterInterception() + 756060
25 Motorist 0x12f665c grpc::ClientAsyncReaderWriter::Write(grpc::ByteBuffer const&, grpc::WriteOptions, void*) + 748540
26 Motorist 0x12fc674 firebase::firestore::remote::GrpcStream::MaybeWrite(absl::lts_20240722::optional) + 773140
27 Motorist 0x12fd1b4 firebase::firestore::remote::GrpcStream::OnWrite() + 776020
28 Motorist 0x12f3634 std::__1::__function::__func, void ()>::operator()() + 736212
29 Motorist 0x1272708 firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function const&) + 208040
30 Motorist 0x13a2ff4 firebase::firestore::util::Task::ExecuteAndRelease() + 132972
31 libdispatch.dylib 0x1b584 _dispatch_client_callout + 16
32 libdispatch.dylib 0xa2d0 _dispatch_lane_serial_drain + 740
33 libdispatch.dylib 0xadac _dispatch_lane_invoke + 388
34 libdispatch.dylib 0x151dc _dispatch_root_queue_drain_deferred_wlh + 292
35 libdispatch.dylib 0x14a60 _dispatch_workloop_worker_thread + 540
36 libsystem_pthread.dylib 0x4660 _pthread_wqthread + 292
37 libsystem_pthread.dylib 0x19f8 start_wqthread + 8
```

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

Expand Package.resolved snippet

```json

{
"originHash" : "",
"pins" : [
{
"identity" : "abseil-cpp-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/abseil-cpp-binary.git",
"state" : {
"revision" : "bbe8b69694d7873315fd3a4ad41efe043e1c07c5",
"version" : "1.2024072200.0"
}
},
{
"identity" : "activelabel.swift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/optonaut/ActiveLabel.swift",
"state" : {
"revision" : "36949c1a69ef8b40574da20c9e24b115f387b1cf",
"version" : "1.1.5"
}
},
{
"identity" : "alamofire",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Alamofire/Alamofire.git",
"state" : {
"revision" : "513364f870f6bfc468f9d2ff0a95caccc10044c5",
"version" : "5.10.2"
}
},
{
"identity" : "ampoptip",
"kind" : "remoteSourceControl",
"location" : "https://github.com/andreamazz/AMPopTip",
"state" : {
"revision" : "db495eea0747a3493ca8b3c737d037c0090973db",
"version" : "4.12.0"
}
},
{
"identity" : "app-check",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/app-check.git",
"state" : {
"revision" : "61b85103a1aeed8218f17c794687781505fbbef5",
"version" : "11.2.0"
}
},
{
"identity" : "chipagecontrol",
"kind" : "remoteSourceControl",
"location" : "https://github.com/ChiliLabs/CHIPageControl",
"state" : {
"revision" : "2d16f651a6c885e8d7eff21b36bd1cae3130aa10",
"version" : "0.2.1"
}
},
{
"identity" : "device",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Ekhoo/Device",
"state" : {
"revision" : "14a553a755ba9ee54fc17db7a350e18d4cb9d995",
"version" : "3.7.0"
}
},
{
"identity" : "dynamicblurview",
"kind" : "remoteSourceControl",
"location" : "https://github.com/KyoheiG3/DynamicBlurView",
"state" : {
"revision" : "539ad8d3ddd8d1656112dd8ab4821062f4334b64",
"version" : "4.1.0"
}
},
{
"identity" : "eureka",
"kind" : "remoteSourceControl",
"location" : "https://github.com/xmartlabs/Eureka",
"state" : {
"revision" : "028ef8e3191a256b8f6b8bb6b9496efcb0762dbc",
"version" : "5.5.0"
}
},
{
"identity" : "facebook-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/facebook/facebook-ios-sdk",
"state" : {
"revision" : "b28dde427715b45a26ebebf697929f4a81b15e04",
"version" : "18.0.0"
}
},
{
"identity" : "firebase-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/firebase-ios-sdk",
"state" : {
"revision" : "fdc352fabaf5916e7faa1f96ad02b1957e93e5a5",
"version" : "11.15.0"
}
},
{
"identity" : "fxpagecontrol",
"kind" : "remoteSourceControl",
"location" : "https://github.com/nicklockwood/FXPageControl.git",
"state" : {
"revision" : "a94633402ba98c52f86c2a70e61ff086dec9de78",
"version" : "1.6.0"
}
},
{
"identity" : "geofire-objc",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/geofire-objc",
"state" : {
"revision" : "268dc913d87d821c234684805fe5ad77246f8b0d",
"version" : "5.0.1"
}
},
{
"identity" : "geos",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GEOSwift/geos.git",
"state" : {
"revision" : "4d8af495e7507f48f1ae9104102debdd2043917b",
"version" : "9.0.0"
}
},
{
"identity" : "geoswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GEOSwift/GEOSwift.git",
"state" : {
"revision" : "9ddf733b9f72799eb7651d1e0d322f2426b36a06",
"version" : "11.2.0"
}
},
{
"identity" : "google-ads-on-device-conversion-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/googleads/google-ads-on-device-conversion-ios-sdk",
"state" : {
"revision" : "a2d0f1f1666de591eb1a811f40b1706f5c63a2ed",
"version" : "2.3.0"
}
},
{
"identity" : "googleappmeasurement",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleAppMeasurement.git",
"state" : {
"revision" : "45ce435e9406d3c674dd249a042b932bee006f60",
"version" : "11.15.0"
}
},
{
"identity" : "googledatatransport",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleDataTransport.git",
"state" : {
"revision" : "617af071af9aa1d6a091d59a202910ac482128f9",
"version" : "10.1.0"
}
},
{
"identity" : "googleutilities",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleUtilities.git",
"state" : {
"revision" : "60da361632d0de02786f709bdc0c4df340f7613e",
"version" : "8.1.0"
}
},
{
"identity" : "grpc-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/grpc-binary.git",
"state" : {
"revision" : "75b31c842f664a0f46a2e590a570e370249fd8f6",
"version" : "1.69.1"
}
},
{
"identity" : "gtm-session-fetcher",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/gtm-session-fetcher.git",
"state" : {
"revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b",
"version" : "3.5.0"
}
},
{
"identity" : "interop-ios-for-google-sdks",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/interop-ios-for-google-sdks.git",
"state" : {
"revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe",
"version" : "101.0.0"
}
},
{
"identity" : "iqkeyboardcore",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardCore.git",
"state" : {
"revision" : "ae9d197f1d8c491b312e30eafb0193d164519c5a",
"version" : "1.0.7"
}
},
{
"identity" : "iqkeyboardmanager",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardManager.git",
"state" : {
"revision" : "42e0d94355eba5448fd250f7229d150d268dc3ab",
"version" : "8.0.0"
}
},
{
"identity" : "iqkeyboardnotification",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardNotification",
"state" : {
"revision" : "25c6a83380042141d9a2f80cdb2832595a7bf6bc",
"version" : "1.0.5"
}
},
{
"identity" : "iqkeyboardreturnmanager",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardReturnManager.git",
"state" : {
"revision" : "bc5c272e4d37cc217a3d10d052557a1916c09cf9",
"version" : "1.0.5"
}
},
{
"identity" : "iqkeyboardtoolbar",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardToolbar.git",
"state" : {
"revision" : "78ccb63857a03334ecfcba566f8f504015965ee3",
"version" : "1.1.1"
}
},
{
"identity" : "iqkeyboardtoolbarmanager",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardToolbarManager",
"state" : {
"revision" : "298c128c8f58776bb72de7b0259c9a5b9b157d61",
"version" : "1.1.2"
}
},
{
"identity" : "iqtextinputviewnotification",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQTextInputViewNotification",
"state" : {
"revision" : "4347f8eb6bf8880014606684105e447229cc29ea",
"version" : "1.0.8"
}
},
{
"identity" : "iqtextview",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQTextView.git",
"state" : {
"revision" : "76f514eba5218bdf67659168ba227c77da5f75fe",
"version" : "1.0.5"
}
},
{
"identity" : "kingfisher",
"kind" : "remoteSourceControl",
"location" : "https://github.com/onevcat/Kingfisher",
"state" : {
"revision" : "2015fda791daa72c8058619545a593bf8c1dd59f",
"version" : "8.5.0"
}
},
{
"identity" : "leveldb",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/leveldb.git",
"state" : {
"revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1",
"version" : "1.22.5"
}
},
{
"identity" : "locksmith",
"kind" : "remoteSourceControl",
"location" : "https://github.com/nicemohawk/Locksmith",
"state" : {
"revision" : "90014ceb4de40411b333ea684f0c6347458a9b49",
"version" : "4.0.3"
}
},
{
"identity" : "nanopb",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/nanopb.git",
"state" : {
"revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1",
"version" : "2.30910.0"
}
},
{
"identity" : "objectmapper",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tristanhimmelman/ObjectMapper.git",
"state" : {
"revision" : "6021c6035e83a306047348666f6400dc61445d3b",
"version" : "4.4.3"
}
},
{
"identity" : "ohhttpstubs",
"kind" : "remoteSourceControl",
"location" : "https://github.com/AliSoftware/OHHTTPStubs.git",
"state" : {
"revision" : "12f19662426d0434d6c330c6974d53e2eb10ecd9",
"version" : "9.1.0"
}
},
{
"identity" : "pkhud",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pkluz/PKHUD",
"state" : {
"revision" : "8fd26f23057c6bebd6695524b1c3e05e93aba571",
"version" : "5.4.0"
}
},
{
"identity" : "polyline",
"kind" : "remoteSourceControl",
"location" : "https://github.com/raphaelmor/Polyline",
"state" : {
"revision" : "353f80378dcd8f17eefe8550090c6b1ae3c9da23",
"version" : "5.1.0"
}
},
{
"identity" : "promises",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/promises.git",
"state" : {
"revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac",
"version" : "2.4.0"
}
},
{
"identity" : "rxalamofire",
"kind" : "remoteSourceControl",
"location" : "https://github.com/RxSwiftCommunity/RxAlamofire.git",
"state" : {
"revision" : "9535b58695b91fb67f56d58d6fd0c76462d7743a",
"version" : "6.1.2"
}
},
{
"identity" : "rxswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/ReactiveX/RxSwift.git",
"state" : {
"revision" : "5dd1907d64f0d36f158f61a466bab75067224893",
"version" : "6.9.0"
}
},
{
"identity" : "sentsdk-package",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sentiance/sentsdk-package",
"state" : {
"revision" : "3ba871eb09f642da4cfdb2a3fac05daa98d24f13",
"version" : "6.15.0"
}
},
{
"identity" : "swift-badge",
"kind" : "remoteSourceControl",
"location" : "https://github.com/evgenyneu/swift-badge",
"state" : {
"revision" : "f6cd330ed423556e909b7126b710c13ee23ccf45",
"version" : "8.0.2"
}
},
{
"identity" : "swift-protobuf",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-protobuf.git",
"state" : {
"revision" : "d72aed98f8253ec1aa9ea1141e28150f408cf17f",
"version" : "1.29.0"
}
},
{
"identity" : "swiftdate",
"kind" : "remoteSourceControl",
"location" : "https://github.com/malcommac/SwiftDate",
"state" : {
"revision" : "5d943224c3bb173e6ecf27295611615eba90c80e",
"version" : "7.0.0"
}
},
{
"identity" : "swifteventbus",
"kind" : "remoteSourceControl",
"location" : "https://github.com/cesarferreira/SwiftEventBus",
"state" : {
"revision" : "a30ff35e616f507d8a8d122dac32a2150371a87e",
"version" : "5.1.0"
}
},
{
"identity" : "swinject",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Swinject/Swinject",
"state" : {
"revision" : "be9dbcc7b86811bc131539a20c6f9c2d3e56919f",
"version" : "2.9.1"
}
},
{
"identity" : "tlphotopicker",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tilltue/TLPhotoPicker",
"state" : {
"revision" : "88db612100e7904aff0c7539e7ba84258f182e8a",
"version" : "2.1.11"
}
},
{
"identity" : "xlactioncontroller",
"kind" : "remoteSourceControl",
"location" : "https://github.com/xmartlabs/XLActionController",
"state" : {
"revision" : "72144c7fd6802659ae080d947cbfbefae880722c",
"version" : "5.1.0"
}
},
{
"identity" : "xlpagertabstrip",
"kind" : "remoteSourceControl",
"location" : "https://github.com/xmartlabs/XLPagerTabStrip.git",
"state" : {
"revision" : "211ed62aa376722cf93c429802a8b6ff66a8bd52",
"version" : "9.1.0"
}
}
],
"version" : 3
}

```

### If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

```yml

Replace this line with the contents of your Podfile.lock!

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.