firebase / firebase-ios-sdk

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

Crashed: com.google.firebase.firestore grpc::SecureChannelCredentials::~SecureChannelCredentials() #11509

Closed timobaehr closed 1 year ago

timobaehr commented 1 year ago

Description

Users with old iPhones/iPads running under iOS 12 (v12.5.7) see a full app crash of the app with Firestore. Affected devices are e.g. iPhone 6, iPad Air

Reproducing the issue

Firebase SDK Version

10.10.0

Xcode Version

14.3.1

Installation Method

CocoaPods

Firebase Product(s)

Firestore

Targeted Platforms

iOS

Relevant Log Output

# Crashlytics - Stack trace

com.apple.main-thread
0  CoreFoundation                 0xc3d90 __CFStrHashEightBit2 + 76
1  CoreFoundation                 0x3e6a0 __CFSearchStringROM + 40
2  CoreFoundation                 0xc54d4 __CFStringCreateImmutableFunnel3 + 1684
3  CoreFoundation                 0xc5af4 CFStringCreateWithBytes + 44
4  FirebaseFirestore              0x8e464 -[FSTUserDataWriter convertedObject:] + 156
5  FirebaseFirestore              0x8e384 -[FSTUserDataWriter convertedValue:] + 376
6  FirebaseFirestore              0x8e440 -[FSTUserDataWriter convertedObject:] + 120
7  FirebaseFirestore              0x8e384 -[FSTUserDataWriter convertedValue:] + 376
8  FirebaseFirestore              0x577f8 -[FIRDocumentSnapshot dataWithServerTimestampBehavior:] + 200
9  FirebaseFirestore              0x57c50 -[FIRQueryDocumentSnapshot dataWithServerTimestampBehavior:] + 44
10 FirebaseFirestore              0x57bac -[FIRQueryDocumentSnapshot data] + 44
11 Runner                         0xa8c3c -[FLTFirebaseFirestoreWriter FIRDocumentChange:] + 129 (FLTFirebaseFirestoreWriter.m:129)
12 Runner                         0xa8768 -[FLTFirebaseFirestoreWriter writeValue:] + 49 (FLTFirebaseFirestoreWriter.m:49)
13 Flutter                        0x5da35c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
14 CoreFoundation                 0x1fcd0 -[__NSDictionaryI __apply:context:] + 116
15 Flutter                        0x5da3b0 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
16 Flutter                        0x5d9fb4 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
17 Runner                         0xa87e4 -[FLTFirebaseFirestoreWriter writeValue:] + 51 (FLTFirebaseFirestoreWriter.m:51)
18 Flutter                        0x5db31c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
19 Flutter                        0x5d738c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
20 libdispatch.dylib              0x5fa38 _dispatch_call_block_and_release + 24
21 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
22 libdispatch.dylib              0xe008 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1068
23 CoreFoundation                 0xaab20 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
24 CoreFoundation                 0xa5a58 __CFRunLoopRun + 1924
25 CoreFoundation                 0xa4fb4 CFRunLoopRunSpecific + 436
26 GraphicsServices               0xa79c GSEventRunModal + 104
27 UIKitCore                      0x8bcc38 UIApplicationMain + 212
28 Runner                         0x7268 main + 7 (AppDelegate.swift:7)
29 libdyld.dylib                  0x18e0 start + 4

com.google.firebase.crashlytics.startup
0  libsystem_platform.dylib       0x8410 _platform_strncmp + 32
1  libmacho.dylib                 0x23f8 getsectbynamefromheader_64 + 132
2  FirebaseCrashlytics            0x7a1c FIRCLSBinaryImageMachOSliceInitSectionByName + 84
3  FirebaseCrashlytics            0x70c0 FIRCLSBinaryImageFillInImageDetails + 100
4  FirebaseCrashlytics            0x6f9c FIRCLSBinaryImageFindImageForUUID + 92
5  FirebaseCrashlytics            0x261e0 -[FIRCLSSymbolResolver updateStackFrame:] + 136
6  FirebaseCrashlytics            0x25b48 __36-[FIRCLSSymbolicationOperation main]_block_invoke + 56
7  FirebaseCrashlytics            0x2645c -[FIRCLSThreadArrayOperation enumerateFramesWithBlock:] + 264
8  FirebaseCrashlytics            0x25b04 -[FIRCLSSymbolicationOperation main] + 68
9  Foundation                     0x1e278 -[__NSOperationInternal _start:] + 740
10 FirebaseCrashlytics            0x1f6c4 -[FIRCLSProcessReportOperation symbolicateFile:withResolver:] + 236
11 FirebaseCrashlytics            0x1f834 __36-[FIRCLSProcessReportOperation main]_block_invoke + 68
12 FirebaseCrashlytics            0x16e88 -[FIRCLSInternalReport enumerateSymbolicatableFilesInContent:] + 200
13 FirebaseCrashlytics            0x1f7d4 -[FIRCLSProcessReportOperation main] + 172
14 Foundation                     0x1e278 -[__NSOperationInternal _start:] + 740
15 FirebaseCrashlytics            0x22b10 __91-[FIRCLSReportUploader prepareAndSubmitReport:dataCollectionToken:asUrgent:withProcessing:]_block_invoke + 436
16 FirebaseCrashlytics            0x6030 FIRCLSApplicationActivity + 72
17 FirebaseCrashlytics            0x22914 -[FIRCLSReportUploader prepareAndSubmitReport:dataCollectionToken:asUrgent:withProcessing:] + 172
18 FirebaseCrashlytics            0x118e0 __92-[FIRCLSExistingReportManager processExistingActiveReportPath:dataCollectionToken:asUrgent:]_block_invoke_2 + 52
19 Foundation                     0x112cf4 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 16
20 Foundation                     0x1ed90 -[NSBlockOperation main] + 72
21 Foundation                     0x1e278 -[__NSOperationInternal _start:] + 740
22 Foundation                     0x114a78 __NSOQSchedule_f + 272
23 libdispatch.dylib              0x5fa38 _dispatch_call_block_and_release + 24
24 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
25 libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
26 libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
27 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
28 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
29 libsystem_pthread.dylib        0xecd4 start_wqthread + 4

com.google.fira.worker
0  libsqlite3.dylib               0xa31d0 sqlite3_db_config + 1140
1  libsqlite3.dylib               0x2050 sqlite3_open_v2 + 4716
2  Runner                         0x9cca4 -[APMSqliteStore openAndValidateDatabase:] + 4305046692
3  Runner                         0x99264 -[APMSqliteStore initWithDatabasePath:error:] + 4305031780
4  Runner                         0x25e10 -[APMDatabase initializeDatabaseResourcesWithContext:databasePath:error:] + 4304559632
5  Runner                         0x1d728 -[APMDatabase initWithDatabaseName:persistedConfig:error:] + 4304525096
6  Runner                         0x45444 __47-[APMMeasurement startMeasurementOnWorkerQueue]_block_invoke + 4304688196
7  Runner                         0x45104 -[APMMeasurement startMeasurementOnWorkerQueue] + 4304687364
8  Runner                         0x449d0 -[APMMeasurement setEnabledOnWorkerQueue:] + 4304685520
9  Runner                         0x448e8 __29-[APMMeasurement setEnabled:]_block_invoke + 4304685288
10 Runner                         0x935a4 __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 4305008036
11 libdispatch.dylib              0x5fa38 _dispatch_call_block_and_release + 24
12 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
13 libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
14 libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
15 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
16 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
17 libsystem_pthread.dylib        0xecd4 start_wqthread + 4

Thread
0  libsystem_pthread.dylib        0xecd0 <redacted> + 190

APMExperimentWorkerQueue
0  libsystem_platform.dylib       0x85ec _platform_memset + 124
1  libsqlite3.dylib               0x29a84 sqlite3_log + 1380
2  libsqlite3.dylib               0xc0294 sqlite3_rekey + 42304
3  libsqlite3.dylib               0x24b1c sqlite3_finalize + 7004
4  libsqlite3.dylib               0x43ee4 sqlite3_step + 13664
5  libsqlite3.dylib               0x40b40 sqlite3_step + 444
6  Runner                         0x9cdfc -[APMSqliteStore validateDatabaseWithError:] + 4305047036
7  Runner                         0x9cd30 -[APMSqliteStore openAndValidateDatabase:] + 4305046832
8  Runner                         0x99264 -[APMSqliteStore initWithDatabasePath:error:] + 4305031780
9  Runner                         0x2a01c -[APMEDatabase initializeDatabaseResourcesWithContext:databasePath:] + 4304576540
10 Runner                         0x29f44 -[APMEDatabase initWithPath:] + 4304576324
11 Runner                         0x317e8 -[APMETaskManager startTaskManagerOnWorkerQueue] + 4304607208
12 Runner                         0x317a0 __35-[APMETaskManager startTaskManager]_block_invoke + 4304607136
13 Runner                         0x32ad0 __46-[APMETaskManager dispatchAsyncOnWorkerQueue:]_block_invoke + 4304612048
14 libdispatch.dylib              0x5fa38 _dispatch_call_block_and_release + 24
15 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
16 libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
17 libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
18 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
19 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
20 libsystem_pthread.dylib        0xecd4 start_wqthread + 4

com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x180f4 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x175a0 mach_msg + 72
2  CoreFoundation                 0xaa914 __CFRunLoopServiceMachPort + 236
3  CoreFoundation                 0xa5824 __CFRunLoopRun + 1360
4  CoreFoundation                 0xa4fb4 CFRunLoopRunSpecific + 436
5  Foundation                     0x795c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 300
6  Foundation                     0x77ec -[NSRunLoop(NSRunLoop) runUntilDate:] + 96
7  UIKitCore                      0x9a2754 -[UIEventFetcher threadMain] + 136
8  Foundation                     0x1344a0 __NSThread__start__ + 984
9  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
10 libsystem_pthread.dylib        0xb220 _pthread_start + 44
11 libsystem_pthread.dylib        0xecdc thread_start + 4

APMMonitorQueue
0  libsystem_malloc.dylib         0xeac nanov2_allocate$VARIANT$mp + 316
1  libsystem_malloc.dylib         0xd20 nanov2_malloc$VARIANT$mp + 60
2  libsystem_malloc.dylib         0xfacc malloc_zone_malloc + 156
3  CoreFoundation                 0x6eb54 dataCopyProperty + 132
4  CoreFoundation                 0xbc308 CFWriteStreamCopyProperty + 168
5  CoreFoundation                 0x9c050 CFPropertyListCreateData + 152
6  CoreFoundation                 0x16a76c _CFPrefsEncodeKeyValuePairIntoMessage + 496
7  CoreFoundation                 0x9e10 -[CFPrefsPlistSource sendMessageSettingValue:forKey:] + 128
8  CoreFoundation                 0x5c680 -[CFPrefsPlistSource alreadylocked_setPrecopiedValues:forKeys:count:from:] + 480
9  CoreFoundation                 0x14b230 -[CFPrefsSource setValues:forKeys:count:copyValues:removeValuesForKeys:count:from:] + 372
10 CoreFoundation                 0x14b524 -[CFPrefsSource setValues:forKeys:count:copyValues:from:] + 36
11 CoreFoundation                 0x94b20 -[CFPrefsSearchListSource alreadylocked_setPrecopiedValues:forKeys:count:from:] + 984
12 CoreFoundation                 0x14b230 -[CFPrefsSource setValues:forKeys:count:copyValues:removeValuesForKeys:count:from:] + 372
13 CoreFoundation                 0x14b524 -[CFPrefsSource setValues:forKeys:count:copyValues:from:] + 36
14 CoreFoundation                 0x83dc -[CFPrefsSource setValue:forKey:from:] + 64
15 CoreFoundation                 0x96c54 __108-[_CFXPreferences(SearchListAdditions) withSearchListForIdentifier:container:cloudConfigurationURL:perform:]_block_invoke + 272
16 CoreFoundation                 0x96698 normalizeQuintuplet + 340
17 CoreFoundation                 0x4d64 -[_CFXPreferences(SearchListAdditions) withSearchListForIdentifier:container:cloudConfigurationURL:perform:] + 108
18 CoreFoundation                 0x7d7c -[_CFXPreferences setValue:forKey:appIdentifier:container:configurationURL:] + 92
19 CoreFoundation                 0x155360 _CFPreferencesSetAppValueWithContainerAndConfiguration + 132
20 Runner                         0x9ec60 -[APMUserDefaults setObject:forKey:] + 4305054816
21 Runner                         0x5ba3c -[APMMonitor saveMonitoringDataToUserDefaultsOnMonitorQueue] + 4304779836
22 Runner                         0x5b9e8 __78-[APMMonitor insertOrUpdateMonitoringDataWithMessage:encodedContext:logLevel:]_block_invoke + 4304779752
23 libdispatch.dylib              0x5fa38 _dispatch_call_block_and_release + 24
24 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
25 libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
26 libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
27 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
28 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
29 libsystem_pthread.dylib        0xecd4 start_wqthread + 4

io.flutter.1.ui
0  libsystem_kernel.dylib         0x22f2c __psynch_mutexwait + 8
1  libsystem_pthread.dylib        0x4a84 <redacted> + 92
2  libsystem_pthread.dylib        0x49f4 <redacted> + 272
3  libsystem_pthread.dylib        0x3d88 <redacted> + 780
4  Flutter                        0x6dd614 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  Flutter                        0x6cebb0 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
6  Flutter                        0x641444 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
7  Flutter                        0x644300 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
8  Flutter                        0x63f2c8 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
9  Flutter                        0x6262cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
10 Flutter                        0x62d334 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
11 Flutter                        0x40285c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
12 Flutter                        0x2e3134 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
13 Flutter                        0x2e6460 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
14 CoreFoundation                 0xab554 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
15 CoreFoundation                 0xab284 __CFRunLoopDoTimer + 864
16 CoreFoundation                 0xaaab8 __CFRunLoopDoTimers + 248
17 CoreFoundation                 0xa5a08 __CFRunLoopRun + 1844
18 CoreFoundation                 0xa4fb4 CFRunLoopRunSpecific + 436
19 Flutter                        0x2e654c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
20 Flutter                        0x2e603c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
21 libsystem_pthread.dylib        0xb2c0 <redacted> + 128
22 libsystem_pthread.dylib        0xb220 _pthread_start + 44
23 libsystem_pthread.dylib        0xecdc thread_start + 4

io.flutter.1.raster
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  Flutter                        0x48a60 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x48f78 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  Flutter                        0x518910 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  Flutter                        0x591d48 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
6  Flutter                        0x591754 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
7  Flutter                        0x599490 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
8  Flutter                        0x598a80 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
9  Flutter                        0x50c7f0 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
10 Flutter                        0x5df540 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
11 Flutter                        0x499d58 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
12 Flutter                        0x3dd840 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
13 Flutter                        0x3dda78 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
14 Flutter                        0x2e4afc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
15 Flutter                        0x3dd194 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
16 Flutter                        0x3de9c0 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
17 Flutter                        0x3ddcb8 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
18 Flutter                        0x3f3e24 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
19 Flutter                        0x2e3134 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
20 Flutter                        0x2e6460 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
21 CoreFoundation                 0xab554 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
22 CoreFoundation                 0xab284 __CFRunLoopDoTimer + 864
23 CoreFoundation                 0xaaab8 __CFRunLoopDoTimers + 248
24 CoreFoundation                 0xa5a08 __CFRunLoopRun + 1844
25 CoreFoundation                 0xa4fb4 CFRunLoopRunSpecific + 436
26 Flutter                        0x2e654c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
27 Flutter                        0x2e603c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
28 libsystem_pthread.dylib        0xb2c0 <redacted> + 128
29 libsystem_pthread.dylib        0xb220 _pthread_start + 44
30 libsystem_pthread.dylib        0xecdc thread_start + 4

io.flutter.1.io
0  libsystem_kernel.dylib         0x180f4 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x175a0 mach_msg + 72
2  CoreFoundation                 0xaa914 __CFRunLoopServiceMachPort + 236
3  CoreFoundation                 0xa5824 __CFRunLoopRun + 1360
4  CoreFoundation                 0xa4fb4 CFRunLoopRunSpecific + 436
5  Flutter                        0x2e654c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
6  Flutter                        0x2e603c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
7  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
8  libsystem_pthread.dylib        0xb220 _pthread_start + 44
9  libsystem_pthread.dylib        0xecdc thread_start + 4

io.worker.1
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  Flutter                        0x48a60 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x2e00cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
5  libsystem_pthread.dylib        0xb220 _pthread_start + 44
6  libsystem_pthread.dylib        0xecdc thread_start + 4

io.worker.2
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  Flutter                        0x48a60 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x2e00cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
5  libsystem_pthread.dylib        0xb220 _pthread_start + 44
6  libsystem_pthread.dylib        0xecdc thread_start + 4

dart:io EventHandler
0  libsystem_kernel.dylib         0x248f4 kevent + 8
1  Flutter                        0x4d77e0 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
2  Flutter                        0x506780 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
4  libsystem_pthread.dylib        0xb220 _pthread_start + 44
5  libsystem_pthread.dylib        0xecdc thread_start + 4

Thread
0  libsystem_pthread.dylib        0xecd0 <redacted> + 190

Thread
0  libsystem_pthread.dylib        0xecd0 <redacted> + 190

Thread
0  libsystem_pthread.dylib        0xecd0 <redacted> + 190

com.google.firebase.crashlytics.MachExceptionServer
0  FirebaseCrashlytics            0x1e3c4 FIRCLSProcessRecordAllThreads + 184
1  FirebaseCrashlytics            0x1e7a4 FIRCLSProcessRecordAllThreads + 1176
2  FirebaseCrashlytics            0x1583c FIRCLSHandler + 48
3  FirebaseCrashlytics            0x18098 FIRCLSMachExceptionServer + 688
4  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
5  libsystem_pthread.dylib        0xb220 _pthread_start + 44
6  libsystem_pthread.dylib        0xecdc thread_start + 4

JavaScriptCore bmalloc scavenger
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  libc++.1.dylib                 0x8090 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24
3  JavaScriptCore                 0x8aaa0 <redacted> + 108
4  JavaScriptCore                 0x8ea94 <redacted> + 176
5  JavaScriptCore                 0x8e20c <redacted> + 10
6  JavaScriptCore                 0x8fc4c <redacted> + 38
7  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
8  libsystem_pthread.dylib        0xb220 _pthread_start + 44
9  libsystem_pthread.dylib        0xecdc thread_start + 4

Crashed: com.google.firebase.firestore
0  grpcpp                         0x58e8 grpc_core::ExecCtx::ExecCtx() + 112
1  grpcpp                         0x2bb78 grpc::SecureChannelCredentials::~SecureChannelCredentials() + 28
2  grpcpp                         0x2bcbc std::__1::__shared_ptr_pointer<grpc::SecureChannelCredentials*, std::__1::shared_ptr<grpc::ChannelCredentials>::__shared_ptr_default_delete<grpc::ChannelCredentials, grpc::SecureChannelCredentials>, std::__1::allocator<grpc::SecureChannelCredentials> >::__on_zero_shared() + 20
3  FirebaseFirestore              0x90354 firebase::firestore::remote::GrpcConnection::CreateChannel() const + 424
4  FirebaseFirestore              0x900bc firebase::firestore::remote::GrpcConnection::EnsureActiveStub() + 128
5  FirebaseFirestore              0x90800 firebase::firestore::remote::GrpcConnection::CreateStream(absl::lts_20220623::string_view, firebase::firestore::credentials::AuthToken const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, firebase::firestore::remote::GrpcStreamObserver*) + 60
6  FirebaseFirestore              0x134a30 firebase::firestore::remote::Stream::ResumeStartWithCredentials(firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 132
7  FirebaseFirestore              0x1360f4 std::__1::__function::__func<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20220623::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'(), std::__1::allocator<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20220623::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()>, void ()>::operator()() + 72
8  FirebaseFirestore              0x925c firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 68
9  FirebaseFirestore              0x1463bc firebase::firestore::util::Task::ExecuteAndRelease() + 184
10 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
11 libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
12 libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
13 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
14 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
15 libsystem_pthread.dylib        0xecd4 start_wqthread + 4

DartWorker
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3d2c <redacted> + 688
2  Flutter                        0x68c180 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x6c61cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  Flutter                        0x68bb4c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

com.google.firebase.firestore.rpc
0  libsystem_kernel.dylib         0x24fd8 poll + 8
1  grpc                           0xa0edc pollset_work(grpc_pollset*, grpc_pollset_worker**, grpc_core::Timestamp) + 1360
2  grpc                           0xa34a8 pollset_work(grpc_pollset*, grpc_pollset_worker**, grpc_core::Timestamp) + 84
3  grpc                           0x82e80 cq_next(grpc_completion_queue*, gpr_timespec, void*) + 392
4  grpcpp                         0x19bf8 grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) + 60
5  FirebaseFirestore              0x2cb1c firebase::firestore::remote::Datastore::PollGrpcQueue() + 104
6  FirebaseFirestore              0x1463bc firebase::firestore::util::Task::ExecuteAndRelease() + 184
7  libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
8  libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
9  libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
10 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
11 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
12 libsystem_pthread.dylib        0xecd4 start_wqthread + 4

DartWorker
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  Flutter                        0x6de3e0 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x6b5bac (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  App                            0x9bdc stub CallToRuntime + 13852
5  App                            0x736878 stub _iso_stub_StackOverflowSharedWithoutFPURegsStub + 7514040
6  App                            0x1a080 BigIntImpl._divRem + 1440 (bigint_patch.dart:1440)
7  App                            0x1793c BigIntImpl._rem + 1348 (bigint_patch.dart:1348)
8  App                            0x675d8 gcd + 1754 (bigint_patch.dart:1754)
9  App                            0x674e4 new Rational + 70 (rational.dart:70)
10 App                            0x336a28 Rational.parse + 115 (rational.dart:115)
11 App                            0x336704 r + 762 (consumption_provider_isolates.dart:762)
12 App                            0x337aa4 basePriceForOneDay + 735 (consumption_provider_isolates.dart:735)
13 App                            0x335ea4 addEstimatedConsumptionToSeries + 283 (rational.dart:283)
14 App                            0x737ddc SuspendState._createAsyncStarCallback.<anonymous closure> + 378 (async_patch.dart:378)
15 App                            0x15060 FutureListener.handleValue + 1662 (zone.dart:1662)
16 App                            0x14eec Future._propagateToListeners.handleValueCallback + 786 (future_impl.dart:786)
17 App                            0x1370c Future._propagateToListeners + 817 (future_impl.dart:817)
18 App                            0xf3e0 Future._completeWithValue + 579 (future_impl.dart:579)
19 App                            0x738250 SuspendState._returnAsyncNotFuture + 355 (async_patch.dart:355)
20 App                            0xde70 stub _iso_stub_ReturnAsyncNotFutureStub + 7600
21 App                            0x737ddc SuspendState._createAsyncStarCallback.<anonymous closure> + 378 (async_patch.dart:378)
22 App                            0x15060 FutureListener.handleValue + 1662 (zone.dart:1662)
23 App                            0x14eec Future._propagateToListeners.handleValueCallback + 786 (future_impl.dart:786)
24 App                            0x1370c Future._propagateToListeners + 817 (future_impl.dart:817)
25 App                            0xf3e0 Future._completeWithValue + 579 (future_impl.dart:579)
26 App                            0x738250 SuspendState._returnAsyncNotFuture + 355 (async_patch.dart:355)
27 App                            0xde70 stub _iso_stub_ReturnAsyncNotFutureStub + 7600
28 App                            0x737ddc SuspendState._createAsyncStarCallback.<anonymous closure> + 378 (async_patch.dart:378)
29 App                            0x67fb58 RootZone.runUnary + 1662 (zone.dart:1662)
30 App                            0x738f68 SuspendState._awaitCompletedFuture.run + 246 (async_patch.dart:246)
31 App                            0xeb20 microtaskLoop + 34 (schedule_microtask.dart:34)
32 App                            0xea10 startMicrotaskLoop (#2) + 54 (schedule_microtask.dart:54)
33 App                            0xe9d4 startMicrotaskLoop + 44 (schedule_microtask.dart:44)
34 App                            0x106cc runPendingImmediateCallback + 118 (isolate_patch.dart:118)
35 App                            0x10670 RawReceivePort._handleMessage + 180 (isolate_patch.dart:180)
36 App                            0x9810 stub InvokeDartCode + 12880
37 Flutter                        0x61c590 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
38 Flutter                        0x626b08 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
39 Flutter                        0x62d334 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
40 Flutter                        0x62d034 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
41 Flutter                        0x6c60bc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
42 Flutter                        0x68bb4c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
43 libsystem_pthread.dylib        0xb2c0 <redacted> + 128
44 libsystem_pthread.dylib        0xb220 _pthread_start + 44
45 libsystem_pthread.dylib        0xecdc thread_start + 4

DartWorker
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3d2c <redacted> + 688
2  Flutter                        0x68c180 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x6c61cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  Flutter                        0x68bb4c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

DartWorker
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3d2c <redacted> + 688
2  Flutter                        0x68c180 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x6c61cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  Flutter                        0x68bb4c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

DartWorker
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3d2c <redacted> + 688
2  Flutter                        0x68c180 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x6c61cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  Flutter                        0x68bb4c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

DartWorker
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3d2c <redacted> + 688
2  Flutter                        0x68c180 (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
3  Flutter                        0x6c61cc (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
4  Flutter                        0x68bb4c (Fehlt UUID 4c4c448b55553144a1517a35ce73c4aa)
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

Thread
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  grpc                           0x1bf444 gpr_cv_wait + 160
3  grpc                           0xa59c0 grpc_core::Executor::ThreadMain(void*) + 180
4  grpc                           0x1cd418 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 140
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

Thread
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  grpc                           0x1bf444 gpr_cv_wait + 160
3  grpc                           0xa59c0 grpc_core::Executor::ThreadMain(void*) + 180
4  grpc                           0x1cd418 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 140
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

Thread
0  libsystem_kernel.dylib         0x22ee4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x3cf8 <redacted> + 636
2  grpc                           0x1bf434 gpr_cv_wait + 144
3  grpc                           0x1d5074 timer_thread(void*) + 580
4  grpc                           0x1cd418 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 140
5  libsystem_pthread.dylib        0xb2c0 <redacted> + 128
6  libsystem_pthread.dylib        0xb220 _pthread_start + 44
7  libsystem_pthread.dylib        0xecdc thread_start + 4

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

<!--- Look below for instructions on how to share your Package.resolved. --->

<details>
<summary>Expand <code>Package.resolved</code> snippet</summary>
<br>

```json

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

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml PODS: - Firebase/Analytics (10.10.0): - Firebase/Core - Firebase/Auth (10.10.0): - Firebase/CoreOnly - FirebaseAuth (~> 10.10.0) - Firebase/Core (10.10.0): - Firebase/CoreOnly - FirebaseAnalytics (~> 10.10.0) - Firebase/CoreOnly (10.10.0): - FirebaseCore (= 10.10.0) - Firebase/Crashlytics (10.10.0): - Firebase/CoreOnly - FirebaseCrashlytics (~> 10.10.0) - Firebase/Firestore (10.10.0): - Firebase/CoreOnly - FirebaseFirestore (~> 10.10.0) - Firebase/Messaging (10.10.0): - Firebase/CoreOnly - FirebaseMessaging (~> 10.10.0) - firebase_analytics (10.4.3): - Firebase/Analytics (= 10.10.0) - firebase_core - Flutter - firebase_auth (4.6.3): - Firebase/Auth (= 10.10.0) - firebase_core - Flutter - firebase_core (2.14.0): - Firebase/CoreOnly (= 10.10.0) - Flutter - firebase_crashlytics (3.3.3): - Firebase/Crashlytics (= 10.10.0) - firebase_core - Flutter - firebase_messaging (14.6.3): - Firebase/Messaging (= 10.10.0) - firebase_core - Flutter - FirebaseAnalytics (10.10.0): - FirebaseAnalytics/AdIdSupport (= 10.10.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAnalytics/AdIdSupport (10.10.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleAppMeasurement (= 10.10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAppCheckInterop (10.11.0) - FirebaseAuth (10.10.0): - FirebaseAppCheckInterop (~> 10.0) - FirebaseCore (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GTMSessionFetcher/Core (< 4.0, >= 2.1) - FirebaseCore (10.10.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - FirebaseCoreExtension (10.11.0): - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.11.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseCrashlytics (10.10.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseSessions (~> 10.5) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - FirebaseFirestore (10.10.0): - abseil/algorithm (~> 1.20220623.0) - abseil/base (~> 1.20220623.0) - abseil/container/flat_hash_map (~> 1.20220623.0) - abseil/memory (~> 1.20220623.0) - abseil/meta (~> 1.20220623.0) - abseil/strings/strings (~> 1.20220623.0) - abseil/time (~> 1.20220623.0) - abseil/types (~> 1.20220623.0) - FirebaseCore (~> 10.0) - "gRPC-C++ (~> 1.50.1)" - leveldb-library (~> 1.22) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseInstallations (10.11.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - FirebaseMessaging (10.10.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseSessions (10.11.0): - FirebaseCore (~> 10.5) - FirebaseCoreExtension (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.10) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesSwift (~> 2.1) - ... DEPENDENCIES: - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - ... ```
google-oss-bot commented 1 year ago

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

milaGGL commented 1 year ago

Hi @timobaehr, thank you for reporting this issue. Could you please provide a minimal reproducible app for us to debug it?

Besides, you have mentioned that Firestore integration in your app is unchanged since years. I assume you are using crashlytics. Can we pin point the date that error started based on crashlytics? How often it is happening? Are only iOS 12 users are affected?

timobaehr commented 1 year ago

Hi @milaGGL, unfortunately I cannot. I cannot reproduce the bug without iPhone 6 with 12.5.7. The bug was reported via Crashlytics only from my users with iOS 12.5.7. Nine users reported this bug 51 times. Crashes are reported between June, 20 and July, 5. Yesterday no user reported this issue but can happen that they didn't retry.

milaGGL commented 1 year ago

@timobaehr, you have mentioned Firestore integration is unchanged since years, but the SDK version in the issue description is a very recent version(10.10.0). Have you upgraded the SDK in your app recently?

timobaehr commented 1 year ago

@milaGGL I upgrade to latest versions from time to time. I meant the source code, not the version. June, 25 I updated the Flutter plugin from 4.4.5 to 4.8.1.

Expand ios/Podfile.lock snippet
``` - cloud_firestore (4.8.1): - Firebase/Firestore (= 10.10.0) - firebase_core - Flutter - nanopb (< 2.30910.0, >= 2.30908.0) ```
Expand pubspec.yaml snippet
```yaml cloud_firestore: ^4.8.1 # before 4.4.5 ```
Expand podspec.lock snippet
```yaml cloud_firestore: dependency: "direct main" description: name: cloud_firestore sha256: "988351d4fcc58c47578d95d014018888b2ce7a228f84ce322fea4a127707a0d4" url: "https://pub.dev" source: hosted version: "4.8.1" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface sha256: b6652ce95507e604f00cb0c9c9be2363d21746e82667f2f3d61edf2d33cad3bf url: "https://pub.dev" source: hosted version: "5.15.1" ```
milaGGL commented 1 year ago

@timobaehr, You have updated Flutter on June 25th, but the problem began on June 20th, so Flutter update might not be the cause.

With the given information, it is hard to debug the issue. My guess is, since there is no code change, a newly upgraded product might contain a bug, or maybe different products (Firestore, Flutter, iOS 12) have version discrepancies. If we can pin-point which product updates introduced the bug, we might be able to compare the version differences to identify the cause.

timobaehr commented 1 year ago

I guess problem was introduced by EHW+ app version 1.9.53 (app was in sale since June 20, 08:35 am).

Unfortunately Podfile.lock is not checked in so it's hard to say, what version was inside the release before.

I checked Crashlytics, the crash still appears with the latest version, starting with the app version 1.9.53.

But I was able to reproduce the bug with a cloud device. It crashes at the point of the first access to FireBase. The onboarding of the app is without Firebase, then no crash happens.

iPhone 7, iOS 12.1.4

Crashed: com.google.firebase.firestore
0  grpcpp                         0x58e8 grpc_core::ExecCtx::ExecCtx() + 112
1  grpcpp                         0x2bb78 grpc::SecureChannelCredentials::~SecureChannelCredentials() + 28
2  grpcpp                         0x2bcbc std::__1::__shared_ptr_pointer<grpc::SecureChannelCredentials*, std::__1::shared_ptr<grpc::ChannelCredentials>::__shared_ptr_default_delete<grpc::ChannelCredentials, grpc::SecureChannelCredentials>, std::__1::allocator<grpc::SecureChannelCredentials> >::__on_zero_shared() + 20
3  FirebaseFirestore              0x90354 firebase::firestore::remote::GrpcConnection::CreateChannel() const + 424
4  FirebaseFirestore              0x900bc firebase::firestore::remote::GrpcConnection::EnsureActiveStub() + 128
5  FirebaseFirestore              0x90800 firebase::firestore::remote::GrpcConnection::CreateStream(absl::lts_20220623::string_view, firebase::firestore::credentials::AuthToken const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, firebase::firestore::remote::GrpcStreamObserver*) + 60
6  FirebaseFirestore              0x134a30 firebase::firestore::remote::Stream::ResumeStartWithCredentials(firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 132
7  FirebaseFirestore              0x1360f4 std::__1::__function::__func<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20220623::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'(), std::__1::allocator<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20220623::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()>, void ()>::operator()() + 72
8  FirebaseFirestore              0x925c firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 68
9  FirebaseFirestore              0x1463bc firebase::firestore::util::Task::ExecuteAndRelease() + 184
10 libdispatch.dylib              0x61484 _dispatch_client_callout + 16
11 libdispatch.dylib              0x8bd0 _dispatch_lane_serial_drain$VARIANT$mp + 592
12 libdispatch.dylib              0x9718 _dispatch_lane_invoke$VARIANT$mp + 432
13 libdispatch.dylib              0x11eb8 _dispatch_workloop_worker_thread + 600
14 libsystem_pthread.dylib        0xc0dc _pthread_wqthread + 312
15 libsystem_pthread.dylib        0xecec start_wqthread + 4
milaGGL commented 1 year ago

Nice! Would you be able to provide us with a minimal reproducible app with repro steps?

timobaehr commented 1 year ago

Here some code to reproduce the bug. I tested it on iOS 16 - no crash. On iPhone 7 with iOS 12.1 this example app crashes.

Example is nearly similar to this one.

Expand main.dart ```dart import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firestore_ios_crash/model.dart'; import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(const MyApp()); } final featureSuggestions = FirebaseFirestore.instance .collection('/features') .withConverter( fromFirestore: (snapshots, _) => FeatureSuggestion.fromMap( snapshots.id, snapshots.data()!, ), toFirestore: (suggestion, _) => suggestion.toJson(), ); class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'FireStore Demo', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text(widget.title), ), body: StreamBuilder>( stream: featureSuggestions.snapshots(), builder: (context, snapshot) { if (snapshot.hasError) { return Center( child: Text(snapshot.error.toString()), ); } if (!snapshot.hasData) { return const Center(child: CircularProgressIndicator()); } final data = snapshot.requireData; return ListView.builder( itemCount: data.size, itemBuilder: (context, index) { if (snapshot.hasError) { return Center( child: Text(snapshot.error.toString()), ); } if (!snapshot.hasData) { return const Center(child: CircularProgressIndicator()); } final data = snapshot.requireData; final itemData = data.docs[index].data(); return Column( mainAxisSize: MainAxisSize.min, children: [ Text(itemData.name, style: Theme.of(context).textTheme.headlineSmall), Text(itemData.description), ], ); }, ); }, ), ); } } ```
Expand model.dart ```dart class FeatureVote { const FeatureVote({required this.userId, required this.when}); factory FeatureVote.withDateAsString( {required String userId, required String date}) { return FeatureVote(userId: userId, when: DateTime.parse(date)); } final String userId; final DateTime when; } class FeatureSuggestion { const FeatureSuggestion({ required this.driveId, required this.name, required this.description, required this.state, required this.votes, }); factory FeatureSuggestion.fromMap(String documentId, Map map) { return FeatureSuggestion( driveId: documentId, name: map['name'], description: map['description'], state: fromString(map['status']), votes: (map['votes'] as Map) .entries .map((e) => FeatureVote.withDateAsString(userId: e.key, date: e.value)) .toList()); } Map toJson() { return { 'name': name, 'description': description, 'state': state.toString(), 'votes': [], }; } final String documentId; final String name; final String description; final FeatureSuggestionState state; final List votes; } enum FeatureSuggestionState { done, now, next, later, maybe, unknown } FeatureSuggestionState fromString(String value) { for (final enumValue in FeatureSuggestionState.values) { if (enumValue.name == value) { return enumValue; } } return FeatureSuggestionState.unknown; } ```
kiritokatklian commented 1 year ago

Here to confirm that it's indeed a Firebase issue and not a Flutter issue. This started happening to an app I'm working on which is written in Swift. It's also affecting only iOS 12.

hermuxo commented 1 year ago

Here for confirmation of the issue: https://github.com/firebase/flutterfire/issues/11216

hermuxo commented 1 year ago

I bought a old iPhone 6 to debug. Strangely this is not happening in debug mode only in release (install via Testflight)

DahanSimon commented 1 year ago

Using SPM instead of cocoapods fixed the issue for me

paulb777 commented 1 year ago

@timobaehr or someone else seeing the issue on CocoaPods: Would you share the Podfile and full Podfile.lock including the grpc versions?

timobaehr commented 1 year ago

@paulb777 For sure.

Here the X versions separately:

  - BoringSSL-GRPC (0.0.24):
    - BoringSSL-GRPC/Implementation (= 0.0.24)
    - BoringSSL-GRPC/Interface (= 0.0.24)
  - BoringSSL-GRPC/Implementation (0.0.24):
    - BoringSSL-GRPC/Interface (= 0.0.24)
  - BoringSSL-GRPC/Interface (0.0.24)
ios/Podfile snippet
```gradle # Uncomment this line to define a global platform for your project # platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' project 'Runner', { 'Debug' => :debug, 'Profile' => :release, 'Release' => :release, } def flutter_root generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) unless File.exist?(generated_xcode_build_settings_path) raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" end File.foreach(generated_xcode_build_settings_path) do |line| matches = line.match(/FLUTTER_ROOT\=(.*)/) return matches[1].strip if matches end raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" end require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) flutter_ios_podfile_setup target 'Runner' do use_frameworks! use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do inherit! :search_paths end end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end ```
Podfile.lock snippet
```yaml PODS: - abseil/algorithm (1.20220623.0): - abseil/algorithm/algorithm (= 1.20220623.0) - abseil/algorithm/container (= 1.20220623.0) - abseil/algorithm/algorithm (1.20220623.0): - abseil/base/config - abseil/algorithm/container (1.20220623.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/meta/type_traits - abseil/base (1.20220623.0): - abseil/base/atomic_hook (= 1.20220623.0) - abseil/base/base (= 1.20220623.0) - abseil/base/base_internal (= 1.20220623.0) - abseil/base/config (= 1.20220623.0) - abseil/base/core_headers (= 1.20220623.0) - abseil/base/dynamic_annotations (= 1.20220623.0) - abseil/base/endian (= 1.20220623.0) - abseil/base/errno_saver (= 1.20220623.0) - abseil/base/fast_type_id (= 1.20220623.0) - abseil/base/log_severity (= 1.20220623.0) - abseil/base/malloc_internal (= 1.20220623.0) - abseil/base/prefetch (= 1.20220623.0) - abseil/base/pretty_function (= 1.20220623.0) - abseil/base/raw_logging_internal (= 1.20220623.0) - abseil/base/spinlock_wait (= 1.20220623.0) - abseil/base/strerror (= 1.20220623.0) - abseil/base/throw_delegate (= 1.20220623.0) - abseil/base/atomic_hook (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/base (1.20220623.0): - abseil/base/atomic_hook - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/log_severity - abseil/base/raw_logging_internal - abseil/base/spinlock_wait - abseil/meta/type_traits - abseil/base/base_internal (1.20220623.0): - abseil/base/config - abseil/meta/type_traits - abseil/base/config (1.20220623.0) - abseil/base/core_headers (1.20220623.0): - abseil/base/config - abseil/base/dynamic_annotations (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver (1.20220623.0): - abseil/base/config - abseil/base/fast_type_id (1.20220623.0): - abseil/base/config - abseil/base/log_severity (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/malloc_internal (1.20220623.0): - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/raw_logging_internal - abseil/base/prefetch (1.20220623.0): - abseil/base/config - abseil/base/pretty_function (1.20220623.0) - abseil/base/raw_logging_internal (1.20220623.0): - abseil/base/atomic_hook - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/log_severity - abseil/base/spinlock_wait (1.20220623.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/strerror (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/errno_saver - abseil/base/throw_delegate (1.20220623.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/cleanup/cleanup (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/cleanup/cleanup_internal - abseil/cleanup/cleanup_internal (1.20220623.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/utility/utility - abseil/container/common (1.20220623.0): - abseil/meta/type_traits - abseil/types/optional - abseil/container/compressed_tuple (1.20220623.0): - abseil/utility/utility - abseil/container/container_memory (1.20220623.0): - abseil/base/config - abseil/memory/memory - abseil/meta/type_traits - abseil/utility/utility - abseil/container/fixed_array (1.20220623.0): - abseil/algorithm/algorithm - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/throw_delegate - abseil/container/compressed_tuple - abseil/memory/memory - abseil/container/flat_hash_map (1.20220623.0): - 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/container/flat_hash_set (1.20220623.0): - 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/container/hash_function_defaults (1.20220623.0): - abseil/base/config - abseil/hash/hash - abseil/strings/cord - abseil/strings/strings - abseil/container/hash_policy_traits (1.20220623.0): - abseil/meta/type_traits - abseil/container/hashtable_debug_hooks (1.20220623.0): - abseil/base/config - abseil/container/hashtablez_sampler (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/debugging/stacktrace - abseil/memory/memory - abseil/profiling/exponential_biased - abseil/profiling/sample_recorder - abseil/synchronization/synchronization - abseil/utility/utility - abseil/container/inlined_vector (1.20220623.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/base/throw_delegate - abseil/container/inlined_vector_internal - abseil/memory/memory - abseil/container/inlined_vector_internal (1.20220623.0): - abseil/base/core_headers - abseil/container/compressed_tuple - abseil/memory/memory - abseil/meta/type_traits - abseil/types/span - abseil/container/layout (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/strings/strings - abseil/types/span - abseil/utility/utility - abseil/container/raw_hash_map (1.20220623.0): - abseil/base/throw_delegate - abseil/container/container_memory - abseil/container/raw_hash_set - abseil/container/raw_hash_set (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/prefetch - 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/memory/memory - abseil/meta/type_traits - abseil/numeric/bits - abseil/utility/utility - abseil/debugging/debugging_internal (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/errno_saver - abseil/base/raw_logging_internal - abseil/debugging/demangle_internal (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/debugging/stacktrace (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/debugging/debugging_internal - abseil/debugging/symbolize (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/debugging/debugging_internal - abseil/debugging/demangle_internal - abseil/strings/strings - abseil/functional/any_invocable (1.20220623.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/utility/utility - abseil/functional/bind_front (1.20220623.0): - abseil/base/base_internal - abseil/container/compressed_tuple - abseil/meta/type_traits - abseil/utility/utility - abseil/functional/function_ref (1.20220623.0): - abseil/base/base_internal - abseil/base/core_headers - abseil/meta/type_traits - abseil/hash/city (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/hash/hash (1.20220623.0): - 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/int128 - abseil/strings/strings - abseil/types/optional - abseil/types/variant - abseil/utility/utility - abseil/hash/low_level_hash (1.20220623.0): - abseil/base/config - abseil/base/endian - abseil/numeric/bits - abseil/numeric/int128 - abseil/memory (1.20220623.0): - abseil/memory/memory (= 1.20220623.0) - abseil/memory/memory (1.20220623.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/meta (1.20220623.0): - abseil/meta/type_traits (= 1.20220623.0) - abseil/meta/type_traits (1.20220623.0): - abseil/base/config - abseil/numeric/bits (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/int128 (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/bits - abseil/numeric/representation (1.20220623.0): - abseil/base/config - abseil/profiling/exponential_biased (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/profiling/sample_recorder (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/synchronization/synchronization - abseil/time/time - abseil/random/distributions (1.20220623.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/numeric/bits - abseil/random/internal/distribution_caller - abseil/random/internal/fast_uniform_bits - abseil/random/internal/fastmath - abseil/random/internal/generate_real - abseil/random/internal/iostream_state_saver - abseil/random/internal/traits - abseil/random/internal/uniform_helper - abseil/random/internal/wide_multiply - abseil/strings/strings - abseil/random/internal/distribution_caller (1.20220623.0): - abseil/base/config - abseil/base/fast_type_id - abseil/utility/utility - abseil/random/internal/fast_uniform_bits (1.20220623.0): - abseil/base/config - abseil/meta/type_traits - abseil/random/internal/traits - abseil/random/internal/fastmath (1.20220623.0): - abseil/numeric/bits - abseil/random/internal/generate_real (1.20220623.0): - abseil/meta/type_traits - abseil/numeric/bits - abseil/random/internal/fastmath - abseil/random/internal/traits - abseil/random/internal/iostream_state_saver (1.20220623.0): - abseil/meta/type_traits - abseil/numeric/int128 - abseil/random/internal/nonsecure_base (1.20220623.0): - 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/random/internal/pcg_engine (1.20220623.0): - abseil/base/config - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/fastmath - abseil/random/internal/iostream_state_saver - abseil/random/internal/platform (1.20220623.0): - abseil/base/config - abseil/random/internal/pool_urbg (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/random/internal/randen - abseil/random/internal/seed_material - abseil/random/internal/traits - abseil/random/seed_gen_exception - abseil/types/span - abseil/random/internal/randen (1.20220623.0): - abseil/base/raw_logging_internal - abseil/random/internal/platform - abseil/random/internal/randen_hwaes - abseil/random/internal/randen_slow - abseil/random/internal/randen_engine (1.20220623.0): - abseil/base/endian - abseil/meta/type_traits - abseil/random/internal/iostream_state_saver - abseil/random/internal/randen - abseil/random/internal/randen_hwaes (1.20220623.0): - abseil/base/config - abseil/random/internal/platform - abseil/random/internal/randen_hwaes_impl - abseil/random/internal/randen_hwaes_impl (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/numeric/int128 - abseil/random/internal/platform - abseil/random/internal/randen_slow (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/numeric/int128 - abseil/random/internal/platform - abseil/random/internal/salted_seed_seq (1.20220623.0): - abseil/container/inlined_vector - abseil/meta/type_traits - abseil/random/internal/seed_material - abseil/types/optional - abseil/types/span - abseil/random/internal/seed_material (1.20220623.0): - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/raw_logging_internal - abseil/random/internal/fast_uniform_bits - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/random/internal/traits (1.20220623.0): - abseil/base/config - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/uniform_helper (1.20220623.0): - abseil/base/config - abseil/meta/type_traits - abseil/numeric/int128 - abseil/random/internal/traits - abseil/random/internal/wide_multiply (1.20220623.0): - abseil/base/config - abseil/numeric/bits - abseil/numeric/int128 - abseil/random/internal/traits - abseil/random/random (1.20220623.0): - abseil/random/distributions - abseil/random/internal/nonsecure_base - abseil/random/internal/pcg_engine - abseil/random/internal/pool_urbg - abseil/random/internal/randen_engine - abseil/random/seed_sequences - abseil/random/seed_gen_exception (1.20220623.0): - abseil/base/config - abseil/random/seed_sequences (1.20220623.0): - 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/status/status (1.20220623.0): - abseil/base/atomic_hook - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/base/strerror - abseil/container/inlined_vector - abseil/debugging/stacktrace - abseil/debugging/symbolize - abseil/functional/function_ref - abseil/strings/cord - abseil/strings/str_format - abseil/strings/strings - abseil/types/optional - abseil/status/statusor (1.20220623.0): - abseil/base/base - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/meta/type_traits - abseil/status/status - abseil/strings/strings - abseil/types/variant - abseil/utility/utility - abseil/strings/cord (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/container/fixed_array - abseil/container/inlined_vector - abseil/functional/function_ref - abseil/meta/type_traits - abseil/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/str_format - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/strings/cord_internal (1.20220623.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/base/throw_delegate - abseil/container/compressed_tuple - abseil/container/inlined_vector - abseil/container/layout - abseil/functional/function_ref - abseil/meta/type_traits - abseil/strings/strings - abseil/types/span - abseil/strings/cordz_functions (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/profiling/exponential_biased - abseil/strings/cordz_handle (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/raw_logging_internal - abseil/synchronization/synchronization - abseil/strings/cordz_info (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/container/inlined_vector - abseil/debugging/stacktrace - abseil/strings/cord_internal - abseil/strings/cordz_functions - abseil/strings/cordz_handle - abseil/strings/cordz_statistics - abseil/strings/cordz_update_tracker - abseil/synchronization/synchronization - abseil/types/span - abseil/strings/cordz_statistics (1.20220623.0): - abseil/base/config - abseil/strings/cordz_update_tracker - abseil/strings/cordz_update_scope (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/strings/cord_internal - abseil/strings/cordz_info - abseil/strings/cordz_update_tracker - abseil/strings/cordz_update_tracker (1.20220623.0): - abseil/base/config - abseil/strings/internal (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/meta/type_traits - abseil/strings/str_format (1.20220623.0): - abseil/strings/str_format_internal - abseil/strings/str_format_internal (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/functional/function_ref - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/numeric/representation - abseil/strings/strings - abseil/types/optional - abseil/types/span - abseil/utility/utility - abseil/strings/strings (1.20220623.0): - abseil/base/base - abseil/base/config - abseil/base/core_headers - abseil/base/endian - abseil/base/raw_logging_internal - abseil/base/throw_delegate - abseil/memory/memory - abseil/meta/type_traits - abseil/numeric/bits - abseil/numeric/int128 - abseil/strings/internal - abseil/synchronization/graphcycles_internal (1.20220623.0): - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/synchronization/kernel_timeout_internal (1.20220623.0): - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/time/time - abseil/synchronization/synchronization (1.20220623.0): - abseil/base/atomic_hook - abseil/base/base - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/base/dynamic_annotations - abseil/base/malloc_internal - abseil/base/raw_logging_internal - abseil/debugging/stacktrace - abseil/debugging/symbolize - abseil/synchronization/graphcycles_internal - abseil/synchronization/kernel_timeout_internal - abseil/time/time - abseil/time (1.20220623.0): - abseil/time/internal (= 1.20220623.0) - abseil/time/time (= 1.20220623.0) - abseil/time/internal (1.20220623.0): - abseil/time/internal/cctz (= 1.20220623.0) - abseil/time/internal/cctz (1.20220623.0): - abseil/time/internal/cctz/civil_time (= 1.20220623.0) - abseil/time/internal/cctz/time_zone (= 1.20220623.0) - abseil/time/internal/cctz/civil_time (1.20220623.0): - abseil/base/config - abseil/time/internal/cctz/time_zone (1.20220623.0): - abseil/base/config - abseil/time/internal/cctz/civil_time - abseil/time/time (1.20220623.0): - abseil/base/base - abseil/base/core_headers - abseil/base/raw_logging_internal - abseil/numeric/int128 - abseil/strings/strings - abseil/time/internal/cctz/civil_time - abseil/time/internal/cctz/time_zone - abseil/types (1.20220623.0): - abseil/types/any (= 1.20220623.0) - abseil/types/bad_any_cast (= 1.20220623.0) - abseil/types/bad_any_cast_impl (= 1.20220623.0) - abseil/types/bad_optional_access (= 1.20220623.0) - abseil/types/bad_variant_access (= 1.20220623.0) - abseil/types/compare (= 1.20220623.0) - abseil/types/optional (= 1.20220623.0) - abseil/types/span (= 1.20220623.0) - abseil/types/variant (= 1.20220623.0) - abseil/types/any (1.20220623.0): - abseil/base/config - abseil/base/core_headers - abseil/base/fast_type_id - abseil/meta/type_traits - abseil/types/bad_any_cast - abseil/utility/utility - abseil/types/bad_any_cast (1.20220623.0): - abseil/base/config - abseil/types/bad_any_cast_impl - abseil/types/bad_any_cast_impl (1.20220623.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/bad_optional_access (1.20220623.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/bad_variant_access (1.20220623.0): - abseil/base/config - abseil/base/raw_logging_internal - abseil/types/compare (1.20220623.0): - abseil/base/core_headers - abseil/meta/type_traits - abseil/types/optional (1.20220623.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/memory/memory - abseil/meta/type_traits - abseil/types/bad_optional_access - abseil/utility/utility - abseil/types/span (1.20220623.0): - abseil/algorithm/algorithm - abseil/base/core_headers - abseil/base/throw_delegate - abseil/meta/type_traits - abseil/types/variant (1.20220623.0): - abseil/base/base_internal - abseil/base/config - abseil/base/core_headers - abseil/meta/type_traits - abseil/types/bad_variant_access - abseil/utility/utility - abseil/utility/utility (1.20220623.0): - abseil/base/base_internal - abseil/base/config - abseil/meta/type_traits - AppAuth (1.6.2): - AppAuth/Core (= 1.6.2) - AppAuth/ExternalUserAgent (= 1.6.2) - AppAuth/Core (1.6.2) - AppAuth/ExternalUserAgent (1.6.2): - AppAuth/Core - BoringSSL-GRPC (0.0.24): - BoringSSL-GRPC/Implementation (= 0.0.24) - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Implementation (0.0.24): - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Interface (0.0.24) - cloud_firestore (4.8.2): - Firebase/Firestore (= 10.10.0) - firebase_core - Flutter - nanopb (< 2.30910.0, >= 2.30908.0) - connectivity_plus (0.0.1): - Flutter - ReachabilitySwift - device_info_plus (0.0.1): - Flutter - DKImagePickerController/Core (4.3.4): - DKImagePickerController/ImageDataManager - DKImagePickerController/Resource - DKImagePickerController/ImageDataManager (4.3.4) - DKImagePickerController/PhotoGallery (4.3.4): - DKImagePickerController/Core - DKPhotoGallery - DKImagePickerController/Resource (4.3.4) - DKPhotoGallery (0.0.17): - DKPhotoGallery/Core (= 0.0.17) - DKPhotoGallery/Model (= 0.0.17) - DKPhotoGallery/Preview (= 0.0.17) - DKPhotoGallery/Resource (= 0.0.17) - SDWebImage - SwiftyGif - DKPhotoGallery/Core (0.0.17): - DKPhotoGallery/Model - DKPhotoGallery/Preview - SDWebImage - SwiftyGif - DKPhotoGallery/Model (0.0.17): - SDWebImage - SwiftyGif - DKPhotoGallery/Preview (0.0.17): - DKPhotoGallery/Model - DKPhotoGallery/Resource - SDWebImage - SwiftyGif - DKPhotoGallery/Resource (0.0.17): - SDWebImage - SwiftyGif - file_picker (0.0.1): - DKImagePickerController/PhotoGallery - Flutter - Firebase/Analytics (10.10.0): - Firebase/Core - Firebase/Auth (10.10.0): - Firebase/CoreOnly - FirebaseAuth (~> 10.10.0) - Firebase/Core (10.10.0): - Firebase/CoreOnly - FirebaseAnalytics (~> 10.10.0) - Firebase/CoreOnly (10.10.0): - FirebaseCore (= 10.10.0) - Firebase/Crashlytics (10.10.0): - Firebase/CoreOnly - FirebaseCrashlytics (~> 10.10.0) - Firebase/Firestore (10.10.0): - Firebase/CoreOnly - FirebaseFirestore (~> 10.10.0) - Firebase/Messaging (10.10.0): - Firebase/CoreOnly - FirebaseMessaging (~> 10.10.0) - firebase_analytics (10.4.3): - Firebase/Analytics (= 10.10.0) - firebase_core - Flutter - firebase_auth (4.6.3): - Firebase/Auth (= 10.10.0) - firebase_core - Flutter - firebase_core (2.14.0): - Firebase/CoreOnly (= 10.10.0) - Flutter - firebase_crashlytics (3.3.3): - Firebase/Crashlytics (= 10.10.0) - firebase_core - Flutter - firebase_messaging (14.6.4): - Firebase/Messaging (= 10.10.0) - firebase_core - Flutter - FirebaseAnalytics (10.10.0): - FirebaseAnalytics/AdIdSupport (= 10.10.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAnalytics/AdIdSupport (10.10.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleAppMeasurement (= 10.10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAppCheckInterop (10.11.0) - FirebaseAuth (10.10.0): - FirebaseAppCheckInterop (~> 10.0) - FirebaseCore (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GTMSessionFetcher/Core (< 4.0, >= 2.1) - FirebaseCore (10.10.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - FirebaseCoreExtension (10.11.0): - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.11.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseCrashlytics (10.10.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseSessions (~> 10.5) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - FirebaseFirestore (10.10.0): - abseil/algorithm (~> 1.20220623.0) - abseil/base (~> 1.20220623.0) - abseil/container/flat_hash_map (~> 1.20220623.0) - abseil/memory (~> 1.20220623.0) - abseil/meta (~> 1.20220623.0) - abseil/strings/strings (~> 1.20220623.0) - abseil/time (~> 1.20220623.0) - abseil/types (~> 1.20220623.0) - FirebaseCore (~> 10.0) - "gRPC-C++ (~> 1.50.1)" - leveldb-library (~> 1.22) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseInstallations (10.11.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - FirebaseMessaging (10.10.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseSessions (10.11.0): - FirebaseCore (~> 10.5) - FirebaseCoreExtension (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.10) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesSwift (~> 2.1) - Flutter (1.0.0) - flutter_app_badger (1.3.0): - Flutter - flutter_app_version_checker (0.0.1): - Flutter - flutter_inappwebview (0.0.1): - Flutter - flutter_inappwebview/Core (= 0.0.1) - OrderedSet (~> 5.0) - flutter_inappwebview/Core (0.0.1): - Flutter - OrderedSet (~> 5.0) - flutter_keyboard_visibility (0.0.1): - Flutter - flutter_local_notifications (0.0.1): - Flutter - FMDB (2.7.5): - FMDB/standard (= 2.7.5) - FMDB/standard (2.7.5) - google_sign_in_ios (0.0.1): - Flutter - GoogleSignIn (~> 6.2) - GoogleAppMeasurement (10.10.0): - GoogleAppMeasurement/AdIdSupport (= 10.10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/AdIdSupport (10.10.0): - GoogleAppMeasurement/WithoutAdIdSupport (= 10.10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/WithoutAdIdSupport (10.10.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleDataTransport (9.2.3): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - GoogleSignIn (6.2.4): - AppAuth (~> 1.5) - GTMAppAuth (~> 1.3) - GTMSessionFetcher/Core (< 3.0, >= 1.1) - GoogleUtilities/AppDelegateSwizzler (7.11.1): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Environment (7.11.1): - PromisesObjC (< 3.0, >= 1.2) - GoogleUtilities/Logger (7.11.1): - GoogleUtilities/Environment - GoogleUtilities/MethodSwizzler (7.11.1): - GoogleUtilities/Logger - GoogleUtilities/Network (7.11.1): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - "GoogleUtilities/NSData+zlib (7.11.1)" - GoogleUtilities/Reachability (7.11.1): - GoogleUtilities/Logger - GoogleUtilities/UserDefaults (7.11.1): - GoogleUtilities/Logger - "gRPC-C++ (1.50.1)": - "gRPC-C++/Implementation (= 1.50.1)" - "gRPC-C++/Interface (= 1.50.1)" - "gRPC-C++/Implementation (1.50.1)": - abseil/base/base (= 1.20220623.0) - abseil/base/core_headers (= 1.20220623.0) - abseil/cleanup/cleanup (= 1.20220623.0) - abseil/container/flat_hash_map (= 1.20220623.0) - abseil/container/flat_hash_set (= 1.20220623.0) - abseil/container/inlined_vector (= 1.20220623.0) - abseil/functional/any_invocable (= 1.20220623.0) - abseil/functional/bind_front (= 1.20220623.0) - abseil/functional/function_ref (= 1.20220623.0) - abseil/hash/hash (= 1.20220623.0) - abseil/memory/memory (= 1.20220623.0) - abseil/meta/type_traits (= 1.20220623.0) - abseil/random/random (= 1.20220623.0) - abseil/status/status (= 1.20220623.0) - abseil/status/statusor (= 1.20220623.0) - abseil/strings/cord (= 1.20220623.0) - abseil/strings/str_format (= 1.20220623.0) - abseil/strings/strings (= 1.20220623.0) - abseil/synchronization/synchronization (= 1.20220623.0) - abseil/time/time (= 1.20220623.0) - abseil/types/optional (= 1.20220623.0) - abseil/types/span (= 1.20220623.0) - abseil/types/variant (= 1.20220623.0) - abseil/utility/utility (= 1.20220623.0) - "gRPC-C++/Interface (= 1.50.1)" - gRPC-Core (= 1.50.1) - "gRPC-C++/Interface (1.50.1)" - gRPC-Core (1.50.1): - gRPC-Core/Implementation (= 1.50.1) - gRPC-Core/Interface (= 1.50.1) - gRPC-Core/Implementation (1.50.1): - abseil/base/base (= 1.20220623.0) - abseil/base/core_headers (= 1.20220623.0) - abseil/container/flat_hash_map (= 1.20220623.0) - abseil/container/flat_hash_set (= 1.20220623.0) - abseil/container/inlined_vector (= 1.20220623.0) - abseil/functional/any_invocable (= 1.20220623.0) - abseil/functional/bind_front (= 1.20220623.0) - abseil/functional/function_ref (= 1.20220623.0) - abseil/hash/hash (= 1.20220623.0) - abseil/memory/memory (= 1.20220623.0) - abseil/meta/type_traits (= 1.20220623.0) - abseil/random/random (= 1.20220623.0) - abseil/status/status (= 1.20220623.0) - abseil/status/statusor (= 1.20220623.0) - abseil/strings/cord (= 1.20220623.0) - abseil/strings/str_format (= 1.20220623.0) - abseil/strings/strings (= 1.20220623.0) - abseil/synchronization/synchronization (= 1.20220623.0) - abseil/time/time (= 1.20220623.0) - abseil/types/optional (= 1.20220623.0) - abseil/types/span (= 1.20220623.0) - abseil/types/variant (= 1.20220623.0) - abseil/utility/utility (= 1.20220623.0) - BoringSSL-GRPC (= 0.0.24) - gRPC-Core/Interface (= 1.50.1) - gRPC-Core/Interface (1.50.1) - GTMAppAuth (1.3.1): - AppAuth/Core (~> 1.6) - GTMSessionFetcher/Core (< 3.0, >= 1.5) - GTMSessionFetcher/Core (2.3.0) - image_picker_ios (0.0.1): - Flutter - in_app_purchase_storekit (0.0.1): - Flutter - FlutterMacOS - in_app_review (0.2.0): - Flutter - leveldb-library (1.22.2) - nanopb (2.30909.0): - nanopb/decode (= 2.30909.0) - nanopb/encode (= 2.30909.0) - nanopb/decode (2.30909.0) - nanopb/encode (2.30909.0) - OrderedSet (5.0.0) - package_info_plus (0.4.5): - Flutter - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS - PromisesObjC (2.2.0) - PromisesSwift (2.2.0): - PromisesObjC (= 2.2.0) - ReachabilitySwift (5.0.0) - SDWebImage (5.16.0): - SDWebImage/Core (= 5.16.0) - SDWebImage/Core (5.16.0) - share_plus (0.0.1): - Flutter - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - sqflite (0.0.3): - Flutter - FMDB (>= 2.7.5) - SwiftyGif (5.4.4) - url_launcher_ios (0.0.1): - Flutter - webview_flutter_wkwebview (0.0.1): - Flutter DEPENDENCIES: - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - file_picker (from `.symlinks/plugins/file_picker/ios`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) - flutter_app_badger (from `.symlinks/plugins/flutter_app_badger/ios`) - flutter_app_version_checker (from `.symlinks/plugins/flutter_app_version_checker/ios`) - flutter_inappwebview (from `.symlinks/plugins/flutter_inappwebview/ios`) - flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/darwin`) - in_app_review (from `.symlinks/plugins/in_app_review/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - share_plus (from `.symlinks/plugins/share_plus/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) SPEC REPOS: trunk: - abseil - AppAuth - BoringSSL-GRPC - DKImagePickerController - DKPhotoGallery - Firebase - FirebaseAnalytics - FirebaseAppCheckInterop - FirebaseAuth - FirebaseCore - FirebaseCoreExtension - FirebaseCoreInternal - FirebaseCrashlytics - FirebaseFirestore - FirebaseInstallations - FirebaseMessaging - FirebaseSessions - FMDB - GoogleAppMeasurement - GoogleDataTransport - GoogleSignIn - GoogleUtilities - "gRPC-C++" - gRPC-Core - GTMAppAuth - GTMSessionFetcher - leveldb-library - nanopb - OrderedSet - PromisesObjC - PromisesSwift - ReachabilitySwift - SDWebImage - SwiftyGif EXTERNAL SOURCES: cloud_firestore: :path: ".symlinks/plugins/cloud_firestore/ios" connectivity_plus: :path: ".symlinks/plugins/connectivity_plus/ios" device_info_plus: :path: ".symlinks/plugins/device_info_plus/ios" file_picker: :path: ".symlinks/plugins/file_picker/ios" firebase_analytics: :path: ".symlinks/plugins/firebase_analytics/ios" firebase_auth: :path: ".symlinks/plugins/firebase_auth/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" firebase_crashlytics: :path: ".symlinks/plugins/firebase_crashlytics/ios" firebase_messaging: :path: ".symlinks/plugins/firebase_messaging/ios" Flutter: :path: Flutter flutter_app_badger: :path: ".symlinks/plugins/flutter_app_badger/ios" flutter_app_version_checker: :path: ".symlinks/plugins/flutter_app_version_checker/ios" flutter_inappwebview: :path: ".symlinks/plugins/flutter_inappwebview/ios" flutter_keyboard_visibility: :path: ".symlinks/plugins/flutter_keyboard_visibility/ios" flutter_local_notifications: :path: ".symlinks/plugins/flutter_local_notifications/ios" google_sign_in_ios: :path: ".symlinks/plugins/google_sign_in_ios/ios" image_picker_ios: :path: ".symlinks/plugins/image_picker_ios/ios" in_app_purchase_storekit: :path: ".symlinks/plugins/in_app_purchase_storekit/darwin" in_app_review: :path: ".symlinks/plugins/in_app_review/ios" package_info_plus: :path: ".symlinks/plugins/package_info_plus/ios" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" share_plus: :path: ".symlinks/plugins/share_plus/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: :path: ".symlinks/plugins/sqflite/ios" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" webview_flutter_wkwebview: :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" SPEC CHECKSUMS: abseil: 926fb7a82dc6d2b8e1f2ed7f3a718bce691d1e46 AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570 BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33 cloud_firestore: 818ebb1a8235177a0dcf7005c14aed5408b8342c connectivity_plus: 07c49e96d7fc92bc9920617b83238c4d178b446a device_info_plus: 7545d84d8d1b896cb16a4ff98c19f07ec4b298ea DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: ce3938a0df3cc1ef404671531facef740d03f920 Firebase: facd334e557a979bd03a0b58d90fd56b52b8aba0 firebase_analytics: 1a5ad75876257318ba5fdc6bf7aae73b6e98d0cf firebase_auth: 9905bc3d82328b5050a8b7cb410a959f150b6549 firebase_core: 85b6664038311940ad60584eaabc73103c61f5de firebase_crashlytics: cd12245f604099a4ef6557fb36490abe309a118a firebase_messaging: c55f70dd48a998dea00a29ccf94572e1e4d454b2 FirebaseAnalytics: 7bc7de519111dae802f5bc0c9c083918f8b8870d FirebaseAppCheckInterop: 255b6c0292fe5da995c8b2df0c02f6a3ca7f61b4 FirebaseAuth: 5ddbe23ebc4e647469261f5c59cd12a04f37c8e6 FirebaseCore: d027ff503d37edb78db98429b11f580a24a7df2a FirebaseCoreExtension: cacdad57fdb60e0b86dcbcac058ec78237946759 FirebaseCoreInternal: 9e46c82a14a3b3a25be4e1e151ce6d21536b89c0 FirebaseCrashlytics: bc8f3bed7f4d04be79d87391455efb4c9b163131 FirebaseFirestore: b3bb12a497c9d13e80ec3158dbb75ded03592e8d FirebaseInstallations: 2a2c6859354cbec0a228a863d4daf6de7c74ced4 FirebaseMessaging: 8a3b9a8b98ce72a42d22e69865cf662e38d2d6f5 FirebaseSessions: a62ba5c45284adb7714f4126cfbdb32b17c260bd Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 flutter_app_badger: b87fc231847b03b92ce1412aa351842e7e97932f flutter_app_version_checker: 2beb5e211990c45ebfc17b81aa4d08ebd7edb757 flutter_inappwebview: bfd58618f49dc62f2676de690fc6dcda1d6c3721 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a google_sign_in_ios: 1256ff9d941db546373826966720b0c24804bcdd GoogleAppMeasurement: bbbfd4bcb2b40ae9b772c3b0823a58c1e3d618f9 GoogleDataTransport: f0308f5905a745f94fb91fea9c6cbaf3831cb1bd GoogleSignIn: 5651ce3a61e56ca864160e79b484cd9ed3f49b7a GoogleUtilities: 9aa0ad5a7bc171f8bae016300bfcfa3fb8425749 "gRPC-C++": 0968bace703459fd3e5dcb0b2bed4c573dbff046 gRPC-Core: 17108291d84332196d3c8466b48f016fc17d816d GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd GTMSessionFetcher: 3a63d75eecd6aa32c2fc79f578064e1214dfdec2 image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 in_app_purchase_storekit: 4fb7ee9e824b1f09107fbfbbce8c4b276366dc43 in_app_review: 318597b3a06c22bb46dc454d56828c85f444f99d leveldb-library: f03246171cce0484482ec291f88b6d563699ee06 nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c package_info_plus: fd030dabf36271f146f1f3beacd48f564b0f17f7 path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8 PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef PromisesSwift: cf9eb58666a43bbe007302226e510b16c1e10959 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6 share_plus: 599aa54e4ea31d4b4c0e9c911bcc26c55e791028 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4 webview_flutter_wkwebview: 2e2d318f21a5e036e2c3f26171342e95908bd60a PODFILE CHECKSUM: 77aea7ad6056b5c48beede14ff59d162bed30a2d COCOAPODS: 1.12.1 ```
paulb777 commented 1 year ago

Thanks @timobaehr. that all looks right to me and should match the SPM distribution. The only difference I can think of is that the SPM binary distribution is built with an earlier Xcode version than 14.3.1.

Does it make a difference to build with an Xcode 14.2 or earlier - or to use the Invertase binary Firestore distribution from https://github.com/invertase/firestore-ios-sdk-frameworks?

timobaehr commented 1 year ago

Does it make a difference to build with an Xcode 14.2 or earlier - or to use the Invertase binary Firestore distribution from https://github.com/invertase/firestore-ios-sdk-frameworks?

@paulb777 Sorry, I'm in vacation with reduced development environment. The earliest I can check this is at the end of the week.

milaGGL commented 1 year ago

Hi @timobaehr, I am having a hard time locating an iOS12 device and reproducing the error by myself.

Based on the GrpcConnection::EnsureActiveStub() function in the stack, we are suspecting that this issue might be related to this one: https://github.com/firebase/firebase-ios-sdk/issues/11568.

It would be greatly appreciated if you could help reproduce the crash with debug logging enabled. This may give some insight into what the grpc channel to enter the GRPC_CHANNEL_SHUTDOWN state, so that we could reproduce it with any iOS version (not just iOS 12).

victors1681 commented 1 year ago

Same issue: only happening on iOS 12.x

Version:12.5.7
Model:iPad Mini 2

Crashed: com.google.firebase.firestore
SIGSEGV 0x000000000000cc67

grpcpp
grpc_core::ExecCtx::ExecCtx() + 112

grpcpp
grpc::SecureChannelCredentials::~SecureChannelCredentials() + 28

grpcpp
std::__1::__shared_ptr_pointer<grpc::SecureChannelCredentials*, std::__1::shared_ptr<grpc::ChannelCredentials>::__shared_ptr_default_delete<grpc::ChannelCredentials, grpc::SecureChannelCredentials>, std::__1::allocator<grpc::SecureChannelCredentials> >::__on_zero_shared() + 20

FirebaseFirestore
firebase::firestore::remote::GrpcConnection::CreateChannel() const + 424

I had to downgrade version by version to version 10.9.0 and is working!

OleksiiSB commented 1 year ago

Looks like the same issue we are experiencing on iOS 12.x after updating to latest Unity SDK. Any chance to have this fix soon or it is better to just downgrade?

Crashed: com.google.firebase.firestore
0  grpcpp                         0x7bd0 grpc_core::ExecCtx::ExecCtx() + 156 (time.h:156)
1  grpcpp                         0x2f11c grpc::SecureChannelCredentials::~SecureChannelCredentials() + 54 (secure_credentials.h:54)
2  grpcpp                         0x2f320 std::__1::__shared_ptr_pointer<grpc::SecureChannelCredentials*, std::__1::shared_ptr<grpc::ChannelCredentials>::__shared_ptr_default_delete<grpc::ChannelCredentials, grpc::SecureChannelCredentials>, std::__1::allocator<grpc::SecureChannelCredentials> >::__on_zero_shared() + 57 (unique_ptr.h:57)
3  FirebaseFirestore              0x94368 firebase::firestore::remote::GrpcConnection::CreateChannel() const + 220 (shared_ptr.h:220)
4  FirebaseFirestore              0x94098 firebase::firestore::remote::GrpcConnection::EnsureActiveStub() + 869 (shared_ptr.h:869)
5  FirebaseFirestore              0x94888 firebase::firestore::remote::GrpcConnection::CreateStream(absl::lts_20220623::string_view, firebase::firestore::credentials::AuthToken const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, firebase::firestore::remote::GrpcStreamObserver*) + 343 (grpc_connection.cc:343)
6  FirebaseFirestore              0x1416e4 firebase::firestore::remote::Stream::ResumeStartWithCredentials(firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 308 (unique_ptr.h:308)
7  FirebaseFirestore              0x142c14 std::__1::__function::__func<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20220623::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'(), std::__1::allocator<firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional<firebase::firestore::util::StatusOr<firebase::firestore::credentials::AuthToken> > const&, absl::lts_20220623::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) const::'lambda'()>, void ()>::operator()() + 176 (shared_ptr.h:176)
8  FirebaseFirestore              0xab60 firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 997 (atomic:997)
9  FirebaseFirestore              0x15416c firebase::firestore::util::Task::ExecuteAndRelease() + 491 (function.h:491)
10 libdispatch.dylib              0x607d4 _dispatch_client_callout + 16
11 libdispatch.dylib              0x9324 _dispatch_lane_serial_drain$VARIANT$mp + 592
12 libdispatch.dylib              0x9e40 _dispatch_lane_invoke$VARIANT$mp + 428
13 libdispatch.dylib              0x124ac _dispatch_workloop_worker_thread + 596
14 libsystem_pthread.dylib        0xc114 _pthread_wqthread + 304
15 libsystem_pthread.dylib        0xecd4 start_wqthread + 4
brettwillis commented 1 year ago

Confirming for me also it only happens when building in Release configuration. Does not occur in Debug configuration.

  • iOS 12.5.7
  • Cocoapods FirebaseFirestore v10.12.0, gRPC-C++ v1.50.1
  • Thread 19: EXC_BAD_ACCESS (code=1, address=0xcc64)
Stack trace
Thread 19 Queue : com.google.firebase.firestore (serial)
#0  0x0000000105779588 in grpc_core::ScopedTimeCache::ScopedTimeCache() [inlined] at /src/app/Pods/gRPC-C++/src/app/core/lib/gprpp/time.h:156
#1  0x0000000105779554 in grpc_core::ScopedTimeCache::ScopedTimeCache() [inlined] at /src/app/Pods/gRPC-C++/src/app/core/lib/gprpp/time.h:156
#2  0x0000000105779554 in grpc_core::ExecCtx::ExecCtx() at /src/app/Pods/gRPC-C++/src/app/core/lib/iomgr/exec_ctx.h:101
#3  0x000000010579f818 in grpc_core::ExecCtx::ExecCtx() [inlined] at /src/app/Pods/gRPC-C++/src/app/core/lib/iomgr/exec_ctx.h:101
#4  0x000000010579f810 in grpc::SecureChannelCredentials::~SecureChannelCredentials() at /src/app/Pods/gRPC-C++/src/app/cpp/client/secure_credentials.h:53
#5  0x000000010579f95c in grpc::SecureChannelCredentials::~SecureChannelCredentials() [inlined] at /src/app/Pods/gRPC-C++/src/app/cpp/client/secure_credentials.h:52
#6  0x000000010579f958 in std::__1::default_delete::operator()[abi:v15006](grpc::SecureChannelCredentials*) const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__memory/unique_ptr.h:48
#7  0x000000010579f954 in std::__1::__shared_ptr_pointer::__shared_ptr_default_delete, std::__1::allocator >::__on_zero_shared() at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:263
#8  0x00000001041d1548 in std::__1::__shared_count::__release_shared[abi:v15006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:174
#9  0x00000001041d1520 in std::__1::__shared_weak_count::__release_shared[abi:v15006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:215
#10 0x00000001041d1520 in std::__1::shared_ptr::~shared_ptr[abi:v15006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:702
#11 0x00000001041d1518 in std::__1::shared_ptr::~shared_ptr[abi:v15006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:700
#12 0x00000001041d1518 in firebase::firestore::remote::GrpcConnection::CreateChannel() const at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/remote/grpc_connection.cc:312
#13 0x00000001041d12b0 in firebase::firestore::remote::GrpcConnection::EnsureActiveStub() at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/remote/grpc_connection.cc:295
#14 0x00000001041d19f4 in firebase::firestore::remote::GrpcConnection::CreateStream(absl::lts_20220623::string_view, firebase::firestore::credentials::AuthToken const&, std::__1::basic_string, std::__1::allocator > const&, firebase::firestore::remote::GrpcStreamObserver*) at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/remote/grpc_connection.cc:341
#15 0x00000001042771f4 in firebase::firestore::remote::Stream::ResumeStartWithCredentials(firebase::firestore::util::StatusOr const&, std::__1::basic_string, std::__1::allocator > const&) at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/remote/stream.cc:179
#16 0x00000001042788b8 in firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()::operator()() const [inlined] at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/remote/stream.cc:154
#17 0x0000000104278880 in decltype(std::declval > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()&>()()) std::__1::__invoke[abi:v15006] > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()&>(firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/invoke.h:394
#18 0x0000000104278880 in void std::__1::__invoke_void_return_wrapper::__call > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()&>(firebase::firestore::remote::Stream::RequestCredentials()::$_0::operator()(absl::lts_20220623::optional > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/invoke.h:479
#19 0x0000000104278880 in std::__1::__function::__alloc_func > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'(), std::__1::allocator > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()>, void ()>::operator()[abi:v15006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/function.h:185
#20 0x0000000104278880 in std::__1::__function::__func > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'(), std::__1::allocator > const&, absl::lts_20220623::optional, std::__1::allocator > > const&) const::'lambda'()>, void ()>::operator()() at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/function.h:359
#21 0x00000001041491bc in std::__1::__function::__value_func::operator()[abi:v15006]() const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/function.h:512
#22 0x00000001041491a8 in std::__1::function::operator()() const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/function.h:1197
#23 0x00000001041491a8 in firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function const&) at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/util/async_queue.cc:89
#24 0x0000000104289380 in std::__1::__function::__value_func::operator()[abi:v15006]() const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/function.h:512
#25 0x000000010428936c in std::__1::function::operator()() const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__functional/function.h:1197
#26 0x000000010428936c in firebase::firestore::util::Task::ExecuteAndRelease() at /src/app/Pods/FirebaseFirestore/Firestore/core/src/app/util/task.cc:102
#27 0x0000000105bf0c78 in _dispatch_client_callout ()
#28 0x0000000105bf8bf4 in _dispatch_lane_serial_drain ()
#29 0x0000000105bf98b4 in _dispatch_lane_invoke ()
#30 0x0000000105c0377c in _dispatch_workloop_worker_thread ()
#31 0x00000001b5085114 in _pthread_wqthread ()
#32 0x00000001b5087cd4 in start_wqthread ()

I turned on logging with FIRFirestore.enableLogging(true) and it didn't seem to yield anything interesting. Those BoringSSL errors are there regardless in debug config when there is no crash.

Logs
2023-08-26 13:11:20.145685+1200 my_app[574:66432] [Firebase/Crashlytics] Version 10.12.0
2023-08-26 13:11:20.493103+1200 my_app[574:66633] 10.12.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
2023-08-26 13:11:20.513307+1200 my_app[574:66633] 10.12.0 - [FirebaseMessaging][I-FCM002022] APNS device token not set before retrieving FCM Token for Sender ID 'xxxxx'.Be sure to re-retrieve the FCM token once the APNS device token is set.
2023-08-26 13:11:20.519160+1200 my_app[574:66633] 10.12.0 - [FirebaseMessaging][I-FCM002022] Declining request for FCM Token since no APNS Token specified
2023-08-26 13:11:20.519820+1200 my_app[574:66633] 10.12.0 - [FirebaseRemoteConfig][I-RCN000067] Successfully set configSettings. Minimum Fetch Interval:3600.000000, Fetch timeout:60.000000
2023-08-26 13:11:20.520917+1200 my_app[574:66633] 10.12.0 - [FirebaseRemoteConfig][I-RCN000051] Returning cached data.
2023-08-26 13:11:20.521331+1200 my_app[574:66633] 10.12.0 - [FirebaseFirestore][I-FST000001] Initializing. Current user: xxxxx
2023-08-26 13:11:20.522378+1200 my_app[574:66633] 10.12.0 - [FirebaseFirestore][I-FST000001] Using /var/mobile/Containers/Data/Application/92C4E22F-7D1C-4F96-8CFE-5744F804E85A/Library/Application Support/firestore/__FIRAPP_DEFAULT/com-example-my_app/main for LevelDB storage
2023-08-26 13:11:20.529355+1200 my_app[574:66633] 10.12.0 - [GULReachability][I-REA902003] Monitoring the network status
2023-08-26 13:11:20.530022+1200 my_app[574:66633] 10.12.0 - [GULReachability][I-REA902003] Monitoring the network status
: The value for FacebookAdvertiserIDCollectionEnabled is currently set to FALSE so you're sending app events without collecting Advertiser ID. This can affect the quality of your advertising and analytics results.
2023-08-26 13:11:20.590464+1200 my_app[574:66432] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2023-08-26 13:11:20.591503+1200 my_app[574:66432] [MC] Reading from public effective user settings.
2023-08-26 13:11:21.365190+1200 my_app[574:66659] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10fe31a00] get output frames failed, state 8196
2023-08-26 13:11:21.365889+1200 my_app[574:66659] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10fe31a00] get output frames failed, state 8196
2023-08-26 13:11:21.367178+1200 my_app[574:66659] TIC Read Status [1:0x0]: 1:57
2023-08-26 13:11:21.367567+1200 my_app[574:66659] TIC Read Status [1:0x0]: 1:57
2023-08-26 13:11:21.724679+1200 my_app[574:66655] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x10fe4ff50] get output frames failed, state 8196
2023-08-26 13:11:21.725849+1200 my_app[574:66655] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x10fe4ff50] get output frames failed, state 8196
2023-08-26 13:11:21.727363+1200 my_app[574:66655] TIC Read Status [3:0x0]: 1:57
2023-08-26 13:11:21.727499+1200 my_app[574:66655] TIC Read Status [3:0x0]: 1:57

milaGGL commented 1 year ago

Hi everyone, thank you for commenting. It looks like a read-after-delete racing issue, and it is only happening to a newer version of Firestore SDK.

It would be greatly appreciated if you could help identify the Firestore version that introduced the bug. Based on the comments, version 10.9.0 is working fine, but it started to fail at version 10.10.0. Is this the case for everyone?

OleksiiSB commented 1 year ago

@milaGGL I can't tell exactly as I use Firebase Unity SDK and I've been on version 11.0.0 (it says iOS v10.7.0 Cocoapods dependency) and got this issue after updating to Unity SDK version 11.3.0 (iOS v10.12.0 Cocoapods dependency). Sorry, but can't provide more detailed data on what version this issue appeared.

victors1681 commented 1 year ago

@milaGGL the issue was introduced in Firebase Apple 10.10.0

mgrms commented 1 year ago

Hi @dconeybe @paulb777 @milaGGL

We are having the same issue after upgrading from 10.9.0 to 10.14.0. Our case is Xcode 14.2 and Cocoapods integration, Swift iOS/iPadOS project. No code changes, SDK 10.9.0 -> 10.14.0 update only.

Since this issue has already been open for more than 2 months, and has affected many users, could you please tell us whether we should wait for a fix or is it better to roll back to version 10.9.0? In our case, the number of crashes is already counted in the thousands a day after the release with 10.14.0.

Hope for your understanding.

Thank you.

milaGGL commented 1 year ago

Hi everyone, thank you for being patient. Determining the root cause of this issue has proven to be quite challenging as we have not been able to reproduce it and the stack trace provides little information to work with.

We do not have an ETA on a fix yet and a rollback is a sensible option for now. Once we have a fix, we will promptly update the thread for your information.

For those of you experiencing this issue, can you give us details about your application: Is your application multithreaded? How does it interact with Firestore, or any other pertinent information about its configuration and usage?

Also, if possible can you run both thread sanitizer and address sanitizer on your application and then share the resulting log output?

Thank you in advance.

paulb777 commented 1 year ago

In addition to @milaGGL's suggestions, one or both of the following could help to accelerate the investigation:

  • A repro GitHub repo, zip, or instructions with the Firestore quickstart.
  • If you have a repro, binary search what causes the failure between the 10.9.0 and 10.10.0 releases. If doing this, I'd recommend starting with reverting the grpc dependency upgrade.
timobaehr commented 1 year ago

In addition to @milaGGL's suggestions, one or both of the following could help to accelerate the investigation:

* A repro GitHub repo, zip, or instructions with the [Firestore quickstart](https://github.com/firebase/quickstart-ios/tree/master/firestore).

* If you have a repro, binary search what causes the failure between the 10.9.0 and 10.10.0 releases. If doing this, I'd recommend starting with reverting the [grpc dependency upgrade](https://github.com/firebase/firebase-ios-sdk/pull/10650).

Attached the repo where bug can be reproduced if you have the correct iOS device: firestore_ios_crash.zip

(I reproduced the bug with a Browserstack device.)

paulb777 commented 1 year ago

@timobaehr thanks. Would you provide repro instructions? pod install doesn't work in that zip and my Flutter skills are rusty. Or even better, provide a repro for which pod install is the only necessary step.

paulb777 commented 1 year ago

Update: We've reproduced the crash building the quickstart in release mode on an iPhone 6 running iOS 12.5.7. Continuing to investigate.

paulb777 commented 1 year ago

Isolated to the grpc update from 1.49.1 to 1.50.0

paulb777 commented 1 year ago

Here are detailed repro instructions:

Check out the Firestore quickstart

Changing the podfile to point to a local copy of Firebase like:

~/qs/230803/quickstart-ios/firestore (master) $ git diff Podfile
diff --git a/firestore/Podfile b/firestore/Podfile
index 05c47bc4..e25bdc59 100644
--- a/firestore/Podfile
+++ b/firestore/Podfile
@@ -3,11 +3,11 @@ platform :ios, '13.0'
 target 'FirestoreExample' do
   use_frameworks!

-  pod 'FirebaseAuth'
+  pod 'FirebaseAuth',  :path => '/Users/paulbeusterien/gh3/firebase-ios-sdk'
   pod 'FirebaseUI/Auth', '~> 12.0'
   pod 'FirebaseUI/Email', '~> 12.0'
-  pod 'FirebaseFirestore'
-  pod 'FirebaseFirestoreSwift', "> 7.0-beta"
+  pod 'FirebaseFirestore',  :path => '/Users/paulbeusterien/gh3/firebase-ios-sdk'
+  pod 'FirebaseFirestoreSwift',  :path => '/Users/paulbeusterien/gh3/firebase-ios-sdk'
   pod 'SDWebImage'

   target 'FirestoreExampleTests' do
@@ -18,8 +18,8 @@ end
 target 'FirestoreSwiftUIExample' do
   use_frameworks!

-  pod 'FirebaseAuth'
-  pod 'FirebaseFirestore'
-  pod 'FirebaseFirestoreSwift', "> 7.0-beta"
+  pod 'FirebaseAuth',  :path => '/Users/paulbeusterien/gh3/firebase-ios-sdk'
+  pod 'FirebaseFirestore',  :path => '/Users/paulbeusterien/gh3/firebase-ios-sdk'
+  pod 'FirebaseFirestoreSwift',  :path => '/Users/paulbeusterien/gh3/firebase-ios-sdk'
   pod 'SDWebImageSwiftUI'
 end

Changing the checkout out Firestore podspec to point to the desired grpc version like:

$ git diff
diff --git a/FirebaseFirestore.podspec b/FirebaseFirestore.podspec
index 86dd2db78..39039064e 100644
--- a/FirebaseFirestore.podspec
+++ b/FirebaseFirestore.podspec
@@ -100,7 +100,7 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling,
   s.dependency 'abseil/time', abseil_version
   s.dependency 'abseil/types', abseil_version

-  s.dependency 'gRPC-C++', '~> 1.50.1'
+  s.dependency 'gRPC-C++', '1.50.0'
   s.dependency 'leveldb-library', '~> 1.22'
   s.dependency 'nanopb', '>= 2.30908.0', '< 2.30910.0'

pod update in the quickstart directory

Open the xcworkspace in Xcode.

Change the Build Configuration to Release: Screenshot 2023-09-13 at 5 21 51 PM

Build and run and with >= 1.50 grpc, the app will crash soon after startup with the following crash

Screenshot 2023-09-13 at 5 25 58 PM

The app will run successfully with gRPC 1.49.1 and below

HannahShiSFB commented 1 year ago

Yeah, time source was added in https://github.com/grpc/grpc/pull/31021, it's in 1.50.0 but not in 1.49.1.

I don't have a iOS 12 device, the oldest simulator I can download is 13.7 where I cannot reproduce.

victors1681 commented 1 year ago

@paulb777 Just tried! downgrade grpc to 1.49.1 on iOS 12 devise works

Screenshot 2023-09-18 at 4 04 44 PM
mgrms commented 1 year ago

Hi,

Could you please tell us what we should do about this problem? Should we wait for a new official release with a fix, or do we need to fork and change the gRPC version ourselves?

Is it safe to downgrade? Could there be other problems because of this?

Of course, it will be better to have the official release with the fix, since the problem is quite unpleasant and makes the app unusable for some users.

Thanks.

paulb777 commented 1 year ago

Sorry about the uncertainty here. We're actively working on an official solution. Downgrading looks to be a workaround, but we haven't fully tested yet. We'll try to get a solution in the next release, but cannot commit yet.

dconeybe commented 1 year ago

I've been working with @paulb777 and @milaGGL on this crash. We are somewhat stuck in the investigation and could use some help from any of you fine developers!

We have a minimal sample app that reproduces the crash: https://github.com/dconeybe/TlsCrashIos12. Take a quick read through the README.md for instructions.

The problem is, we have no idea why it is crashing and the "fix" we are considering (https://github.com/grpc/grpc/pull/34416) may not be a robust solution, given that we don't know the root cause. If any of you have some time to investigate, please do and reply back with any findings.

dconeybe commented 1 year ago

As a temporary workaround, if you're using CocoaPods you can pin grpc to an older version by adding this line to your Podfile:

pod 'gRPC-C++', "1.44.0"

Firestore does not "need" the upgraded version of grpc. We were just picking it up to get the latest version and, generally, want to keep up to date with new grpc releases.

The next release of the Firestore SDK will likely downgrade its grpc dependency to work around this crash. Once grpc's workaround is merged and released we will try upgrading grpc again. I will keep you all posted on the progress of the fix.

timobaehr commented 1 year ago

As a temporary workaround, if you're using CocoaPods you can pin grpc to an older version by adding this line to your Podfile:

pod 'gRPC-C++', "1.44.0"

I'm getting an error at pod install then:

[!] CocoaPods could not find compatible versions for pod "gRPC-C++":
  In Podfile:
    cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) was resolved to 4.9.1, which depends on
      Firebase/Firestore (= 10.12.0) was resolved to 10.12.0, which depends on
        FirebaseFirestore (~> 10.12.0) was resolved to 10.12.0, which depends on
          gRPC-C++ (~> 1.50.1)

    gRPC-C++ (= 1.44.0)
dconeybe commented 1 year ago

@timobaehr Can you try deleting your Podfile.lock?

timobaehr commented 1 year ago

@timobaehr Can you try deleting your Podfile.lock?

Sorry. That's not the solution. I deleted the Podfile.lock before calling pod install.

dconeybe commented 1 year ago

@timobaehr Dang. Okay you may need to downgrade Firestore to 10.9.0 then. We don't think it should cause problems. Otherwise, wait for the next release which will (likely) properly downgrade grpc.

timobaehr commented 1 year ago

@timobaehr Dang. Okay you may need to downgrade Firestore to 10.9.0 then. We don't think it should cause problems. Otherwise, wait for the next release which will (likely) properly downgrade grpc.

What are the lines in Podfile to downgrade?

This causes a version error with other Firebase libraries (Crashlytics, Analytics, Auth):

  pod 'gRPC-C++', "1.44.0"
  pod 'Firebase/Firestore', '10.9.0'
TheStalwart commented 1 year ago

Using Firestore 10.9.0 and gRPC 1.44 the app crashes shortly after startup. I'm running on iPhone 6S with iOS 12.3.1 and the issue is reproducible with debugger attached. Let me know if my setup can help pinpointing the issue

dconeybe commented 1 year ago

@TheStalwart Are you using the recently-released Xcode 15? If yes, there is a known crash caused by linker changes in Xcode 15 and the workaround is to add -Wl,-ld_classic to OTHER_LDFLAGS. See https://github.com/firebase/firebase-ios-sdk/issues/11829 for details.

dconeybe commented 1 year ago

@TheStalwart You will need to downgrade all of your firebase Podfile lines to 10.9.0, not just Firestore. Can you give that a try?

Edit: Oops, I meant to mention @timobaehr, not @TheStalwart, in response to the previous comment https://github.com/firebase/firebase-ios-sdk/issues/11509#issuecomment-1732263463

TheStalwart commented 1 year ago

@TheStalwart Are you using the recently-released Xcode 15? If yes, there is a known crash caused by linker changes in Xcode 15 and the workaround is to add -Wl,-ld_classic to OTHER_LDFLAGS. See #11829 for details.

Yes, i'm now migrating the project to Xcode 15. when building with Xcode 14 the issue was not present.

Setting OTHER_LDFLAGS did not resolve the issue, the project crashes on the same line 57 of temporary_buffer.h.

And yes, all Firebase pod versions are in sync and set to 10.9.0, with gRPC-C++ set to 1.44.0.

TheStalwart commented 1 year ago

Ok turns out i misread the workaround description.

OTHER_LDFLAGS need to be set for Pods project in Xcode tree. When setting to just the root project, it's not inherited by Pods.

Works for me now.

dconeybe commented 1 year ago

@timobaehr (re https://github.com/firebase/firebase-ios-sdk/issues/11509#issuecomment-1732263463) You will need to downgrade all of your firebase Podfile lines to 10.9.0, not just Firestore. Can you give that a try?

dconeybe commented 1 year ago

Update: The next release of the Firebase Apple SDK (planned for early October 2023) will downgrade the grpc dependency in CocoaPods builds back to 1.44.0 (see https://github.com/firebase/firebase-ios-sdk/pull/11846). We will try upgrading grpc again once the "workaround" is merged into grpc and released. For now, however, this should unblock you if you're encountering this crash.