firebase / firebase-ios-sdk

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

Crashed: com.google.firebase.crashlytics.ios.exception #6830

Closed skaldic closed 3 years ago

skaldic commented 3 years ago

[REQUIRED] Step 1: Describe your environment

[REQUIRED] Step 2: Describe the problem

We have an issue with 14 crashes affecting 13 users. All on iOS 14 and all 100% in the background.

Can this be related to the AVAudioSession Notify Thread's 0x1d70b0dd0 mach_msg_trap + 8?

I think another thread is crashing, but I'm not sure which one.

Steps to reproduce:

I only have the Crashlytics logs:

Fatal Exception: std::__1::system_error mutex lock failed: Invalid argument

Crashed: com.google.firebase.crashlytics.ios.exception
0  MyApp                      0x100cba3e4 FIRCLSProcessRecordAllThreads + 392 (FIRCLSProcess.c:392)
1  MyApp                      0x100cba7c8 FIRCLSProcessRecordAllThreads + 423 (FIRCLSProcess.c:423)
2  MyApp                      0x100cb1128 FIRCLSHandler + 34 (FIRCLSHandler.m:34)
3  MyApp                      0x100cace2c __FIRCLSExceptionRecord_block_invoke + 218 (FIRCLSException.mm:218)
4  libdispatch.dylib              0x1aab70ac8 _dispatch_client_callout + 20
5  libdispatch.dylib              0x1aab7ec8c _dispatch_lane_barrier_sync_invoke_and_complete + 60
6  MyApp                      0x100cac5c4 FIRCLSExceptionRecord + 225 (FIRCLSException.mm:225)
7  MyApp                      0x100cac264 FIRCLSTerminateHandler() + 285 (FIRCLSException.mm:285)
8  libc++abi.dylib                0x1bf15f2a8 std::__terminate(void (*)()) + 20
9  libc++abi.dylib                0x1bf15f234 std::terminate() + 44
10 libobjc.A.dylib                0x1bf06068c _objc_terminate() + 14
11 libdispatch.dylib              0x1aab70adc _dispatch_client_callout + 40
12 libdispatch.dylib              0x1aab77c08 _dispatch_lane_serial_drain + 580
13 libdispatch.dylib              0x1aab78734 _dispatch_lane_invoke + 408
14 libdispatch.dylib              0x1aab82528 _dispatch_workloop_worker_thread + 708
15 libsystem_pthread.dylib        0x1f2e63908 _pthread_wqthread + 276
16 libsystem_pthread.dylib        0x1f2e6a77c start_wqthread + 8
com.apple.main-thread
0  3rdPartySDK                     0x1042b4000 tesseract::ParamsVectors::~ParamsVectors() + 42 (params.h:42)
1  libsystem_c.dylib              0x1b408b328 __cxa_finalize_ranges + 408
2  libsystem_c.dylib              0x1b408b668 exit + 28
3  UIKitCore                      0x1ad8a0a8c -[UIApplication terminateWithSuccess] + 502
4  UIKitCore                      0x1acf29db0 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 128
5  UIKitCore                      0x1acf29a10 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 220
6  UIKitCore                      0x1ad896770 -[UIApplication workspaceShouldExit:withTransitionContext:] + 212
7  FrontBoardServices             0x1b9f58988 -[FBSUIApplicationWorkspaceShim workspaceShouldExit:withTransitionContext:] + 88
8  FrontBoardServices             0x1b9f860a4 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke_2 + 80
9  FrontBoardServices             0x1b9f6ad24 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 240
10 FrontBoardServices             0x1b9f8603c __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 132
11 libdispatch.dylib              0x1aab70ac8 _dispatch_client_callout + 20
12 libdispatch.dylib              0x1aab74348 _dispatch_block_invoke_direct + 268
13 FrontBoardServices             0x1b9fae0e0 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 48
14 FrontBoardServices             0x1b9fadd88 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 448
15 FrontBoardServices             0x1b9fae2ac -[FBSSerialQueue _performNextFromRunLoopSource] + 32
16 CoreFoundation                 0x1aaeef81c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
17 CoreFoundation                 0x1aaeef718 __CFRunLoopDoSource0 + 208
18 CoreFoundation                 0x1aaeeea28 __CFRunLoopDoSources0 + 268
19 CoreFoundation                 0x1aaee8d20 __CFRunLoopRun + 824
20 CoreFoundation                 0x1aaee84bc CFRunLoopRunSpecific + 600
21 GraphicsServices               0x1c19fa820 GSEventRunModal + 164
22 UIKitCore                      0x1ad895164 -[UIApplication _run] + 1072
23 UIKitCore                      0x1ad89a840 UIApplicationMain + 168
24 MyApp                      0x1008f4e2c main + 28 (UnrelevantFile.swift:28)
25 libdyld.dylib                  0x1aabafe40 start + 4
com.google.firebase.firestore.rpc
0  libsystem_kernel.dylib         0x1d70d6c8c poll + 8
1  grpc                           0x104b57914 pollset_work(grpc_pollset*, grpc_pollset_worker**, long long) + 1024 (ev_poll_posix.cc:1024)
2  grpc                           0x104b597ac pollset_work(grpc_pollset*, grpc_pollset_worker**, long long) + 324 (ev_posix.cc:324)
3  grpc                           0x104b4bb04 cq_next(grpc_completion_queue*, gpr_timespec, void*) + 1059 (completion_queue.cc:1059)
4  grpcpp                         0x104cf9664 grpc_impl::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) + 55 (completion_queue_cc.cc:55)
5  MyApp                      0x100d45680 firebase::firestore::remote::Datastore::PollGrpcQueue() + 135 (datastore.cc:135)
6  MyApp                      0x100e20dd8 firebase::firestore::util::Task::ExecuteAndRelease() + 1859 (functional:1859)
7  libdispatch.dylib              0x1aab70ac8 _dispatch_client_callout + 20
8  libdispatch.dylib              0x1aab77c08 _dispatch_lane_serial_drain + 580
9  libdispatch.dylib              0x1aab78734 _dispatch_lane_invoke + 408
10 libdispatch.dylib              0x1aab82528 _dispatch_workloop_worker_thread + 708
11 libsystem_pthread.dylib        0x1f2e63908 _pthread_wqthread + 276
12 libsystem_pthread.dylib        0x1f2e6a77c start_wqthread + 8
com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x1d70b0dd0 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1d70b0184 mach_msg + 76
2  CoreFoundation                 0x1aaeeecf8 __CFRunLoopServiceMachPort + 380
3  CoreFoundation                 0x1aaee8ea8 __CFRunLoopRun + 1216
4  CoreFoundation                 0x1aaee84bc CFRunLoopRunSpecific + 600
5  Foundation                     0x1ac169e30 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6  Foundation                     0x1ac169d08 -[NSRunLoop(NSRunLoop) runUntilDate:] + 92
7  UIKitCore                      0x1ad945a4c -[UIEventFetcher threadMain] + 516
8  Foundation                     0x1ac2d40f0 __NSThread__start__ + 864
9  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
10 libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
com.google.firebase.crashlytics.MachExceptionServer
0  libsystem_kernel.dylib         0x1d70b0dd0 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1d70b0184 mach_msg + 76
2  MyApp                      0x100cb3670 FIRCLSMachExceptionServer + 194 (FIRCLSMachException.c:194)
3  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
4  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
NSOperationQueue 0x105178980 (QOS: UNSPECIFIED)
0  libsystem_kernel.dylib         0x1d70b0e24 semaphore_timedwait_trap + 8
1  libdispatch.dylib              0x1aab71098 _dispatch_sema4_timedwait + 68
2  libdispatch.dylib              0x1aab71678 _dispatch_semaphore_wait_slow + 76
3  Leanplum                       0x101eded1c __32-[LeanplumRequest sendRequests:]_block_invoke + 362 (LeanplumRequest.m:362)
4  Foundation                     0x1ac28e7f4 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24
5  Foundation                     0x1ac181120 -[NSBlockOperation main] + 104
6  Foundation                     0x1ac290bb8 __NSOPERATION_IS_INVOKING_MAIN__ + 24
7  Foundation                     0x1ac180da8 -[NSOperation start] + 808
8  Foundation                     0x1ac291624 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 24
9  Foundation                     0x1ac2910d0 __NSOQSchedule_f + 184
10 libdispatch.dylib              0x1aab7e834 _dispatch_block_async_invoke2 + 148
11 libdispatch.dylib              0x1aab70ac8 _dispatch_client_callout + 20
12 libdispatch.dylib              0x1aab73d60 _dispatch_continuation_pop + 416
13 libdispatch.dylib              0x1aab73550 _dispatch_async_redirect_invoke + 780
14 libdispatch.dylib              0x1aab81104 _dispatch_root_queue_drain + 356
15 libdispatch.dylib              0x1aab818e8 _dispatch_worker_thread2 + 116
16 libsystem_pthread.dylib        0x1f2e638cc _pthread_wqthread + 216
17 libsystem_pthread.dylib        0x1f2e6a77c start_wqthread + 8
com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0x1d70b0dd0 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1d70b0184 mach_msg + 76
2  CoreFoundation                 0x1aaeeecf8 __CFRunLoopServiceMachPort + 380
3  CoreFoundation                 0x1aaee8ea8 __CFRunLoopRun + 1216
4  CoreFoundation                 0x1aaee84bc CFRunLoopRunSpecific + 600
5  CFNetwork                      0x1ab7a4050 _CFURLStorageSessionCopyCache + 63240
6  Foundation                     0x1ac2d40f0 __NSThread__start__ + 864
7  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
8  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
Thread
0  libsystem_kernel.dylib         0x1d70d475c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1f2e65550 _pthread_cond_wait + 1192
2  libc++.1.dylib                 0x1bf0fec8c std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3  leveldb                        0x104d67494 leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadMain() + 77 (port_stdcxx.h:77)
4  leveldb                        0x104d67444 leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadMain() + 779 (env_posix.cc:779)
5  leveldb                        0x104d67528 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(leveldb::(anonymous namespace)::PosixEnv*), leveldb::(anonymous namespace)::PosixEnv*> >(void*) + 181 (tuple:181)
6  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
7  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
Thread
0  libsystem_kernel.dylib         0x1d70d475c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1f2e65550 _pthread_cond_wait + 1192
2  grpc                           0x104bc35c8 gpr_cv_wait + 149 (sync_posix.cc:149)
3  grpc                           0x104b5b2bc grpc_core::Executor::ThreadMain(void*) + 231 (executor.cc:231)
4  grpc                           0x104bcd2d8 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 141 (thd_posix.cc:141)
5  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
6  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
Thread
0  libsystem_kernel.dylib         0x1d70d475c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1f2e65550 _pthread_cond_wait + 1192
2  grpc                           0x104bc35c8 gpr_cv_wait + 149 (sync_posix.cc:149)
3  grpc                           0x104b5b2bc grpc_core::Executor::ThreadMain(void*) + 231 (executor.cc:231)
4  grpc                           0x104bcd2d8 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 141 (thd_posix.cc:141)
5  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
6  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
Thread
0  libsystem_kernel.dylib         0x1d70d475c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1f2e65550 _pthread_cond_wait + 1192
2  grpc                           0x104bc35b8 gpr_cv_wait + 146 (sync_posix.cc:146)
3  grpc                           0x104bd0740 timer_thread(void*) + 84 (trace.h:84)
4  grpc                           0x104bcd2d8 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 141 (thd_posix.cc:141)
5  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
6  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
com.squareup.SocketRocket.NetworkThread
0  libsystem_kernel.dylib         0x1d70b0dd0 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1d70b0184 mach_msg + 76
2  CoreFoundation                 0x1aaeeecf8 __CFRunLoopServiceMachPort + 380
3  CoreFoundation                 0x1aaee8ea8 __CFRunLoopRun + 1216
4  CoreFoundation                 0x1aaee84bc CFRunLoopRunSpecific + 600
5  Foundation                     0x1ac169e30 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6  MyApp                      0x100d17214 -[_FSRRunLoopThread main] + 1854 (FSRWebSocket.m:1854)
7  Foundation                     0x1ac2d40f0 __NSThread__start__ + 864
8  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
9  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
com.apple.CFSocket.private
0  libsystem_kernel.dylib         0x1d70d4c40 __select + 8
1  libsystem_kernel.dylib         0x1d70d4c40 select$DARWIN_EXTSN + 8
2  CoreFoundation                 0x1aaefb688 __CFSocketManager + 636
3  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
4  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
Thread
0  libsystem_kernel.dylib         0x1d70d475c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1f2e65550 _pthread_cond_wait + 1192
2  grpc                           0x104bc35c8 gpr_cv_wait + 149 (sync_posix.cc:149)
3  grpc                           0x104bd0740 timer_thread(void*) + 84 (trace.h:84)
4  grpc                           0x104bcd2d8 grpc_core::(anonymous namespace)::ThreadInternalsPosix::ThreadInternalsPosix(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)::'lambda'(void*)::__invoke(void*) + 141 (thd_posix.cc:141)
5  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
6  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
AVAudioSession Notify Thread
0  libsystem_kernel.dylib         0x1d70b0dd0 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1d70b0184 mach_msg + 76
2  CoreFoundation                 0x1aaeeecf8 __CFRunLoopServiceMachPort + 380
3  CoreFoundation                 0x1aaee8ea8 __CFRunLoopRun + 1216
4  CoreFoundation                 0x1aaee84bc CFRunLoopRunSpecific + 600
5  AudioSession                   0x1b27982ac GenericRunLoopThread::Entry(void*) + 164
6  AudioSession                   0x1b279a390 CAPThread::Entry(CAPThread*) + 92
7  libsystem_pthread.dylib        0x1f2e61ca8 _pthread_start + 320
8  libsystem_pthread.dylib        0x1f2e6a788 thread_start + 8
Thread
0  libsystem_kernel.dylib         0x1d70d55bc __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1f2e63954 _pthread_wqthread + 352
2  libsystem_pthread.dylib        0x1f2e6a77c start_wqthread + 8

There are also a few more threads like the one above which I don't think are relevant.

Thanks!

morganchen12 commented 3 years ago

Looks like Tesseract's destructor is crashing when the user force-quits the app. This isn't an issue caused by Crashlytics; sometimes Crashlytics' breadcrumb-collecting thread appears to be the crashing thread because of how it intercepts signals.

You can try asking for help on StackOverflow or on the Tesseract repository.