Skip to content

Crash in FIRMutableDictonary #529

@jlaws

Description

@jlaws

Describe the environment

Xcode version: 9.2
Firebase (4.7.0)

Issue is in code from this POD:
FirebaseCore (4.0.12)

Other Firebase PODs installed:
FirebaseABTesting (1.0.0)
FirebaseAnalytics (4.0.5)
FirebaseAuth (4.4.0)
FirebaseDatabase (4.1.2)
FirebaseDynamicLinks (2.3.0)
FirebaseInstanceID (2.0.7)
FirebaseMessaging (2.0.7)
FirebasePerformance (1.0.7)
FirebaseRemoteConfig (2.1.0)
FirebaseStorage (2.1.0)
FirebaseSwizzlingUtilities (1.0.0)

Describe the problem

The app crashes shortly after launch on a cold start. It happens every 1/5 cold starts. No user interaction, just starting the app and seeing what happens.

Here is the crashing stack trace:

Thread 17 Queue : FIRMutableDictionary (serial)
#0	0x00000001139b627a in object_setClass ()
#1	0x00000001145e7bf1 in -[NSObject(NSObject) __dealloc_zombie] ()
#2	0x00000001139cca2e in objc_object::sidetable_release(bool) ()
#3	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#4	0x0000000116fb743c in _dispatch_client_callout ()
#5	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#6	0x0000000116fc02df in _dispatch_queue_invoke ()
#7	0x0000000116fbc07d in _dispatch_queue_override_invoke ()
#8	0x0000000116fc31f9 in _dispatch_root_queue_drain ()
#9	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#10	0x000000011747a1ca in _pthread_wqthread ()
#11	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.root.background-qos (Thread 14) Queue : com.apple.root.background-qos (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010841c916 in -[FIRMutableDictionary removeObjectForKey:] ()
#2	0x000000010841d65b in __77-[FIRNetwork postURL:payload:queue:usingBackgroundSession:completionHandler:]_block_invoke_2 ()
#3	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#4	0x0000000116fb743c in _dispatch_client_callout ()
#5	0x0000000116fc3499 in _dispatch_root_queue_drain ()
#6	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#7	0x000000011747a1ca in _pthread_wqthread ()
#8	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.main-thread (Thread 1) Queue : com.apple.main-thread (serial)
#0	0x0000000116fc096b in _dispatch_root_queue_push ()
#1	0x000000010841d5b3 in __77-[FIRNetwork postURL:payload:queue:usingBackgroundSession:completionHandler:]_block_invoke ()
#2	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#3	0x0000000116fb743c in _dispatch_client_callout ()
#4	0x0000000116fc26f0 in _dispatch_main_queue_callback_4CF ()
#5	0x0000000114529ee9 in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#6	0x00000001144ee592 in __CFRunLoopRun ()
#7	0x00000001144ed9b9 in CFRunLoopRunSpecific ()
#8	0x00000001181dd9c6 in GSEventRunModal ()
#9	0x000000010ff9c5e8 in UIApplicationMain ()
#10	0x0000000107d14a77 in main at /Users/joe/git/kratos/App/ClientAppDelegate.swift:18
#11	0x0000000117033d81 in start ()
Enqueued from com.apple.main-thread (Thread 1) Queue : com.apple.main-thread (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x00000001084214dd in -[FIRNetworkURLSession callCompletionHandler:withResponse:data:error:] ()
#2	0x000000010841fbce in -[FIRNetworkURLSession URLSession:task:didCompleteWithError:] ()
#3	0x00000001084f2e81 in __InstrumentURLSessionTaskDidCompleteWithError_block_invoke ()
#4	0x000000010a8c6abf in __51-[NSURLSession delegate_task:didCompleteWithError:]_block_invoke.207 ()
#5	0x000000010cbaa9b7 in __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ ()
#6	0x000000010cbaa81a in -[NSBlockOperation main] ()
#7	0x000000010cba8cd6 in -[__NSOperationInternal _start:] ()
#8	0x0000000116fb743c in _dispatch_client_callout ()
#9	0x0000000116fbcaf4 in _dispatch_block_invoke_direct ()
#10	0x0000000116fb743c in _dispatch_client_callout ()
#11	0x0000000116fbcaf4 in _dispatch_block_invoke_direct ()
#12	0x0000000116fbc884 in dispatch_block_perform ()
#13	0x000000010cba4ce4 in __NSOQSchedule_f ()
#14	0x0000000116fb743c in _dispatch_client_callout ()
#15	0x0000000116fc26f0 in _dispatch_main_queue_callback_4CF ()
#16	0x0000000114529ee9 in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#17	0x00000001144ee592 in __CFRunLoopRun ()
#18	0x00000001144ed9b9 in CFRunLoopRunSpecific ()
#19	0x00000001181dd9c6 in GSEventRunModal ()
#20	0x000000010ff9c5e8 in UIApplicationMain ()
#21	0x0000000107d14a77 in main at /Users/joe/git/kratos/App/ClientAppDelegate.swift:18
#22	0x0000000117033d81 in start ()
Enqueued from com.apple.NSURLSession-work (Thread 17) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010cb76334 in __NSOQSchedule ()
#2	0x000000010cba462b in __addOperations ()
#3	0x000000010a76d1c3 in -[NSURLSession delegate_task:didCompleteWithError:] ()
#4	0x000000010a71144f in -[__NSCFLocalSessionTask _task_onqueue_didFinish] ()
#5	0x000000010a7110c3 in -[__NSCFLocalSessionTask connection:didFinishLoadingWithError:] ()
#6	0x000000010a71100d in __51-[__NSCFURLLocalSessionConnection _task_sendFinish]_block_invoke ()
#7	0x000000010a710f8c in -[__NSCFURLLocalSessionConnection _task_sendFinish] ()
#8	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#9	0x0000000116fb743c in _dispatch_client_callout ()
#10	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#11	0x0000000116fc02df in _dispatch_queue_invoke ()
#12	0x0000000116fbc07d in _dispatch_queue_override_invoke ()
#13	0x0000000116fc31f9 in _dispatch_root_queue_drain ()
#14	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#15	0x000000011747a1ca in _pthread_wqthread ()
#16	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.main-thread (Thread 1) Queue : com.apple.main-thread (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a702428 in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x000000010a70e4a6 in -[__NSCFURLLocalSessionConnection afterDelegateWithTick:] ()
#3	0x000000010a70f58a in __48-[__NSCFURLLocalSessionConnection _tick_running]_block_invoke_2 ()
#4	0x000000010cbaa9b7 in __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ ()
#5	0x000000010cbaa81a in -[NSBlockOperation main] ()
#6	0x000000010cba8cd6 in -[__NSOperationInternal _start:] ()
#7	0x0000000116fb743c in _dispatch_client_callout ()
#8	0x0000000116fbcaf4 in _dispatch_block_invoke_direct ()
#9	0x0000000116fb743c in _dispatch_client_callout ()
#10	0x0000000116fbcaf4 in _dispatch_block_invoke_direct ()
#11	0x0000000116fbc884 in dispatch_block_perform ()
#12	0x000000010cba4ce4 in __NSOQSchedule_f ()
#13	0x0000000116fb743c in _dispatch_client_callout ()
#14	0x0000000116fc26f0 in _dispatch_main_queue_callback_4CF ()
#15	0x0000000114529ee9 in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#16	0x00000001144ee592 in __CFRunLoopRun ()
#17	0x00000001144ed9b9 in CFRunLoopRunSpecific ()
#18	0x00000001181dd9c6 in GSEventRunModal ()
#19	0x000000010ff9c5e8 in UIApplicationMain ()
#20	0x0000000107d14a77 in main at /Users/joe/git/kratos/App/ClientAppDelegate.swift:18
#21	0x0000000117033d81 in start ()
Enqueued from com.apple.NSURLSession-work (Thread 17) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010cb76334 in __NSOQSchedule ()
#2	0x000000010cba462b in __addOperations ()
#3	0x000000010a76d038 in -[NSURLSession delegate_dataTask:didReceiveData:completionHandler:] ()
#4	0x000000010a70f4d0 in -[__NSCFLocalSessionTask _task_onqueue_didReceiveDispatchData:completionHandler:] ()
#5	0x000000010a70f28e in -[__NSCFLocalSessionTask connection:didReceiveData:completion:] ()
#6	0x000000010a70f1ba in __48-[__NSCFURLLocalSessionConnection _tick_running]_block_invoke ()
#7	0x000000010a70f0b8 in -[__NSCFURLLocalSessionConnection _tick_running] ()
#8	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#9	0x0000000116fb743c in _dispatch_client_callout ()
#10	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#11	0x0000000116fc02df in _dispatch_queue_invoke ()
#12	0x0000000116fc31f9 in _dispatch_root_queue_drain ()
#13	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#14	0x000000011747a1ca in _pthread_wqthread ()
#15	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 17) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a702428 in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x000000010a70e4a6 in -[__NSCFURLLocalSessionConnection afterDelegateWithTick:] ()
#3	0x000000010a70e448 in __61-[__NSCFURLLocalSessionConnection _didReceiveResponse:sniff:]_block_invoke_2 ()
#4	0x000000010a7b2c72 in __67-[__NSCFLocalSessionTask connection:didReceiveResponse:completion:]_block_invoke_2 ()
#5	0x000000010a70e229 in -[__NSCFLocalDataTask _onqueue_didReceiveResponse:completion:] ()
#6	0x000000010a7b2c2b in __67-[__NSCFLocalSessionTask connection:didReceiveResponse:completion:]_block_invoke ()
#7	0x000000010a70def2 in -[__NSCFLocalSessionTask connection:didReceiveResponse:completion:] ()
#8	0x000000010a70de1f in __61-[__NSCFURLLocalSessionConnection _didReceiveResponse:sniff:]_block_invoke ()
#9	0x000000010a70d598 in -[__NSCFURLLocalSessionConnection _didReceiveResponse:sniff:] ()
#10	0x000000010a76b630 in -[__NSCFURLLocalSessionConnection _tick_sniffNow] ()
#11	0x000000010a70ea60 in -[__NSCFURLLocalSessionConnection _didFinishWithError:] ()
#12	0x000000010a70d119 in ___ZN25SessionConnectionLoadable21withLoaderClientAsyncEU13block_pointerFvP21LoaderClientInterfaceE_block_invoke ()
#13	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#14	0x0000000116fb743c in _dispatch_client_callout ()
#15	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#16	0x0000000116fc02df in _dispatch_queue_invoke ()
#17	0x0000000116fc31f9 in _dispatch_root_queue_drain ()
#18	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#19	0x000000011747a1ca in _pthread_wqthread ()
#20	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.NSURLSession-work (Thread 17) Queue : com.apple.NSURLSession-work (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a702428 in -[__NSCFURLSessionConnection withWorkQueueAsync:] ()
#2	0x000000010a70d0f6 in SessionConnectionLoadable::withLoaderClientAsync(void (LoaderClientInterface*) block_pointer) ()
#3	0x000000010a71c6c5 in URLConnectionLoader::protocolDidFinishLoading() ()
#4	0x000000010a7077d4 in ___ZNK25URLConnectionInstanceData18withWorkQueueAsyncEU13block_pointerFvvE_block_invoke ()
#5	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#6	0x0000000116fb743c in _dispatch_client_callout ()
#7	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#8	0x0000000116fc02df in _dispatch_queue_invoke ()
#9	0x0000000116fc31f9 in _dispatch_root_queue_drain ()
#10	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#11	0x000000011747a1ca in _pthread_wqthread ()
#12	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.CFNetwork.LoaderQ (Thread 4) Queue : com.apple.CFNetwork.LoaderQ (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a7077b9 in URLConnectionInstanceData::withWorkQueueAsync(void () block_pointer) const ()
#2	0x000000010a71bae3 in non-virtual thunk to URLConnectionLoader_Classic::protocolDidFinishLoading() ()
#3	0x000000010a75bdb1 in URLProtocol::sendDidFinishLoading() ()
#4	0x000000010a75b2c6 in HTTPProtocol::endEncountered() ()
#5	0x000000010a75983a in HTTPProtocol::handleStreamEvent(__CFHTTPMessage*, dispatch_data_s*, CFStreamError const*) ()
#6	0x000000010a74d427 in ___ZNK18QCoreSchedulingSet12performAsyncEU13block_pointerFvvE_block_invoke ()
#7	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#8	0x0000000116fb743c in _dispatch_client_callout ()
#9	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#10	0x0000000116fc02df in _dispatch_queue_invoke ()
#11	0x0000000116fbf683 in _dispatch_queue_serial_drain ()
#12	0x0000000116fc02df in _dispatch_queue_invoke ()
#13	0x0000000116fc1316 in _dispatch_root_queue_drain_deferred_item ()
#14	0x0000000116fca5ff in _dispatch_kevent_worker_thread ()
#15	0x000000011747a057 in _pthread_wqthread ()
#16	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.CFNetwork.HTTP2.HTTP2Stream (Thread 17) Queue : com.apple.CFNetwork.HTTP2.HTTP2Stream (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a74d3f2 in QCoreSchedulingSet::performAsync(void () block_pointer) const ()
#2	0x000000010a876832 in HTTP2Stream::_onqueue_notifyStreamClosed() ()
#3	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#4	0x0000000116fb743c in _dispatch_client_callout ()
#5	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#6	0x0000000116fc02df in _dispatch_queue_invoke ()
#7	0x0000000116fc31f9 in _dispatch_root_queue_drain ()
#8	0x0000000116fc2e97 in _dispatch_worker_thread3 ()
#9	0x000000011747a1ca in _pthread_wqthread ()
#10	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.CFNetwork.Connection (Thread 4) Queue : com.apple.CFNetwork.Connection (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a876a6e in HTTP2Stream::closeStreamWithErrorCode(int) ()
#2	0x000000010a7a5e43 in cf_nghttp2_on_frame_recv_callback(nghttp2_session*, nghttp2_frame const*, void*) ()
#3	0x00000001177b87d3 in nghttp2_session_on_data_received ()
#4	0x00000001177b9ffd in nghttp2_session_mem_recv ()
#5	0x00000001177baf82 in nghttp2_session_recv ()
#6	0x000000010a7fcc62 in HTTP2Connection::_onqueue_performRead() ()
#7	0x000000010a7f8b8b in HTTP2Connection::_onqueue_scheduleIO() ()
#8	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#9	0x0000000116fb743c in _dispatch_client_callout ()
#10	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#11	0x0000000116fc02df in _dispatch_queue_invoke ()
#12	0x0000000116fbf683 in _dispatch_queue_serial_drain ()
#13	0x0000000116fc02df in _dispatch_queue_invoke ()
#14	0x0000000116fc1316 in _dispatch_root_queue_drain_deferred_item ()
#15	0x0000000116fca5ff in _dispatch_kevent_worker_thread ()
#16	0x000000011747a057 in _pthread_wqthread ()
#17	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.CFNetwork.Connection (Thread 4) Queue : com.apple.CFNetwork.Connection (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a8aa7de in TCPIOConnection::readCompleted(unsigned long, unsigned long, dispatch_data_s*, int, void (dispatch_data_s*, CFStreamError) block_pointer) ()
#2	0x000000010a91d13b in ___ZL27ConnectionProtocolReadInnerP11nw_protocoljjbxU13block_pointerFvP15dispatch_data_s13CFStreamErrorEU13block_pointerFvP16nw_frame_array_sS3_E_block_invoke.32 ()
#3	0x0000000116fb63f7 in _dispatch_call_block_and_release ()
#4	0x0000000116fb743c in _dispatch_client_callout ()
#5	0x0000000116fbf95b in _dispatch_queue_serial_drain ()
#6	0x0000000116fc02df in _dispatch_queue_invoke ()
#7	0x0000000116fbf683 in _dispatch_queue_serial_drain ()
#8	0x0000000116fc02df in _dispatch_queue_invoke ()
#9	0x0000000116fc1316 in _dispatch_root_queue_drain_deferred_item ()
#10	0x0000000116fca5ff in _dispatch_kevent_worker_thread ()
#11	0x000000011747a057 in _pthread_wqthread ()
#12	0x0000000117479c4d in start_wqthread ()
Enqueued from com.apple.network.connections (Thread 4) Queue : com.apple.network.connections (serial)
#0	0x0000000116fc0e05 in _dispatch_queue_push ()
#1	0x000000010a91ad96 in ConnectionProtocolReadInner(nw_protocol*, unsigned int, unsigned int, bool, long long, void (dispatch_data_s*, CFStreamError) block_pointer, void (nw_frame_array_s*, CFStreamError) block_pointer) ()
#2	0x000000010a91cb1f in ___ZL36ConnectionProtocolEnqueueReadRequestP11nw_protocoljjbxU13block_pointerFvP15dispatch_data_s13CFStreamErrorEU13block_pointerFvP16nw_frame_array_sS3_E_block_invoke ()
#3	0x000000010a91a7e0 in ConnectionProtocolServiceReads(nw_protocol*) ()
#4	0x000000010a91b801 in ConnectionProtocolInputAvailable(nw_protocol*, nw_protocol*) ()
#5	0x00000001177e5107 in nw_boringssl_read ()
#6	0x00000001177e6133 in nw_protocol_boringssl_input_available ()
#7	0x00000001176c4a81 in nw_socket_update_input_source ()
#8	0x0000000116fb743c in _dispatch_client_callout ()
#9	0x0000000116fbd856 in _dispatch_continuation_pop ()
#10	0x0000000116fc89b4 in _dispatch_source_invoke ()
#11	0x0000000116fbf683 in _dispatch_queue_serial_drain ()
#12	0x0000000116fc02df in _dispatch_queue_invoke ()
#13	0x0000000116fc1316 in _dispatch_root_queue_drain_deferred_item ()
#14	0x0000000116fca5ff in _dispatch_kevent_worker_thread ()
#15	0x000000011747a057 in _pthread_wqthread ()
#16	0x0000000117479c4d in start_wqthread ()

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions