4

I've released my app (iOS 10+) to pilot groups through testflight and recently I've been getting crash reports which points to some _handleTLSEvent. My app also has crashlytics installed which says the crash description as

Assertion failed: (!_tlsResumeBlock), function _handleTLSEvent, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/CFNetwork/CFNetwork-889.9/Connection/TCPIOConnection.cpp, line 4628.

But I'm unable to pin point the root cause of the crash. Below is the crash log

OS Version:          iPhone OS 11.1 
Baseband Version:    n/a
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  9

Thread 0 name:
Thread 0:
0   UIFoundation                    0x000000018bd6a4a8 -[NSStringDrawingContext dealloc] + 100 (NSStringDrawing.m:126)
1   UIFoundation                    0x000000018bd6a49c -[NSStringDrawingContext dealloc] + 88 (NSStringDrawing.m:125)
2   UIKit                           0x000000018ac4fd24 -[UILabel _drawTextInRect:baselineCalculationOnly:] + 3940 (UILabel.m:3034)
3   UIKit                           0x000000018acba7a0 -[UILabel drawTextInRect:] + 904 (UILabel.m:2620)
4   UIKit                           0x000000018acba3c0 -[UIView(CALayerDelegate) drawLayer:inContext:] + 408 (UIView.m:14812)
5   QuartzCore                      0x00000001857efa9c -[CALayer drawInContext:] + 296 (CALayer.mm:8884)
6   QuartzCore                      0x00000001856eabf4 CABackingStoreUpdate_ + 232 (CABackingStore.cpp:1149)
7   QuartzCore                      0x00000001857f5780 invocation function for block in CA::Layer::display_() + 52 (CALayer.mm:8741)
8   QuartzCore                      0x00000001857ef4c8 -[CALayer _display] + 1672 (CALayer.mm:8739)
9   QuartzCore                      0x0000000185762b50 CA::Context::commit_transaction(CA::Transaction*) + 520 (CALayer.mm:2371)
10  QuartzCore                      0x0000000185788eb4 CA::Transaction::commit() + 540 (CATransactionInternal.mm:425)
11  QuartzCore                      0x00000001856dda04 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 928 (CADisplay.mm:1457)
12  IOKit                           0x0000000181a6c1cc IODispatchCalloutFromCFMessage + 392 (IOKitLib.c:1216)
13  CoreFoundation                  0x0000000181790010 __CFMachPortPerform + 188 (CFMachPort.c:689)
14  CoreFoundation                  0x00000001817aa96c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56 (CFRunLoop.c:1998)
15  CoreFoundation                  0x00000001817aa070 __CFRunLoopDoSource1 + 440 (CFRunLoop.c:2135)
16  CoreFoundation                  0x00000001817a7b44 __CFRunLoopRun + 2196 (CFRunLoop.c:3150)
17  CoreFoundation                  0x00000001816c7fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
18  GraphicsServices                0x000000018355ff84 GSEventRunModal + 100 (GSEvent.c:2245)
19  UIKit                           0x000000018ac9c2f4 UIApplicationMain + 208 (UIApplication.m:3949)
20  My App                  0x000000010075b514 main + 92 (main.m:14)
21  libdyld.dylib                   0x00000001811ea56c start + 4

Thread 1 name:
Thread 1:
0   libsystem_kernel.dylib          0x00000001812f8bc4 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001812f8a3c mach_msg + 72 (mach_msg.c:103)
2   CoreFoundation                  0x00000001817a9c74 __CFRunLoopServiceMachPort + 196 (CFRunLoop.c:2613)
3   CoreFoundation                  0x00000001817a7840 __CFRunLoopRun + 1424 (CFRunLoop.c:2969)
4   CoreFoundation                  0x00000001816c7fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
5   Foundation                      0x00000001820f16e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 (NSRunLoop.m:367)
6   Foundation                      0x0000000182110afc -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 (NSRunLoop.m:411)
7   UIKit                           0x000000018b7fb2f4 -[UIEventFetcher threadMain] + 136 (UIEventFetcher.m:436)
8   Foundation                      0x00000001821f2860 __NSThread__start__ + 996 (NSThread.m:1181)
9   libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
10  libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
11  libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 2 name:
Thread 2:
0   libsystem_kernel.dylib          0x00000001812f8bc4 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001812f8a3c mach_msg + 72 (mach_msg.c:103)
2   My App                  0x00000001008abf20 CLSMachExceptionServer + 100
3   libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
4   libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
5   libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 3 name:
Thread 3:
0   libsystem_kernel.dylib          0x00000001812f8bc4 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001812f8a3c mach_msg + 72 (mach_msg.c:103)
2   CoreFoundation                  0x00000001817a9c74 __CFRunLoopServiceMachPort + 196 (CFRunLoop.c:2613)
3   CoreFoundation                  0x00000001817a7840 __CFRunLoopRun + 1424 (CFRunLoop.c:2969)
4   CoreFoundation                  0x00000001816c7fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
5   CFNetwork                       0x0000000181e32264 +[NSURLConnection(Loader) _resourceLoadLoop:] + 404 (NSURLConnection.mm:367)
6   Foundation                      0x00000001821f2860 __NSThread__start__ + 996 (NSThread.m:1181)
7   libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
8   libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
9   libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 4:
0   libsystem_kernel.dylib          0x0000000181319150 __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x000000018142ed30 _pthread_cond_wait$VARIANT$mp + 640 (pthread_cond.c:579)
2   libc++.1.dylib                  0x00000001809d2f34 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 96 (__threading_support:284)
3   JavaScriptCore                  0x0000000188a75dd0 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 124 (__mutex_base:0)
4   JavaScriptCore                  0x0000000188a75ca4 std::__1::cv_status std::__1::condition_variable_any::wait_until<std::__1::unique_lock<bmalloc::Mutex>, std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<bmalloc::Mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 108 (condition_variable:224)
5   JavaScriptCore                  0x0000000188a75b28 bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() + 280 (condition_variable:235)
6   JavaScriptCore                  0x0000000188a75e20 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 (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 44 (type_traits:4291)
7   libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
8   libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
9   libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 5 name:
Thread 5:
0   libsystem_kernel.dylib          0x0000000181319150 __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x000000018142ed30 _pthread_cond_wait$VARIANT$mp + 640 (pthread_cond.c:579)
2   WebCore                         0x0000000189551690 SendDelegateMessage(NSInvocation*) + 588 (WebCoreThread.mm:782)
3   CoreFoundation                  0x00000001818073bc ___forwarding___ + 624 (NSForwarding.m:3259)
4   CoreFoundation                  0x00000001816ed01c _CF_forwarding_prep_0 + 92
5   WebKitLegacy                    0x000000018a959ec4 WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, bool, WebCore::FormState*, WTF::Function<void (WebCore::PolicyAction)>&&) + 416 (WebFrameLoaderClient.mm:902)
6   WebCore                         0x000000018a22611c WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, bool, WebCore::DocumentLoader*, WebCore::FormState*, WTF::Function<void (WebCore::ResourceRequest const&, WebCore::FormState*, bool)>) + 1380 (PolicyChecker.cpp:150)
7   WebCore                         0x0000000189a0a324 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WebCore::FormState*, WebCore::AllowNavigationToInvalidURL) + 1252 (FrameLoader.cpp:1502)
8   WebCore                         0x0000000189a09d44 WebCore::FrameLoader::load(WebCore::FrameLoadRequest&&) + 580 (FrameLoader.cpp:1379)
9   WebKitLegacy                    0x000000018a8b6a94 -[WebFrame loadRequest:] + 320 (WebFrame.mm:2480)
10  WebCore                         0x000000018a67423c HandleRunSource(void*) + 688 (WebCoreThreadRun.cpp:98)
11  CoreFoundation                  0x00000001817aa2e8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1982)
12  CoreFoundation                  0x00000001817aa268 __CFRunLoopDoSource0 + 88 (CFRunLoop.c:2017)
13  CoreFoundation                  0x00000001817a9af0 __CFRunLoopDoSources0 + 204 (CFRunLoop.c:2053)
14  CoreFoundation                  0x00000001817a76c8 __CFRunLoopRun + 1048 (CFRunLoop.c:2920)
15  CoreFoundation                  0x00000001816c7fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245)
16  WebCore                         0x000000018953be04 RunWebThread(void*) + 456 (WebCoreThread.mm:694)
17  libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
18  libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
19  libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 6:
0   libsystem_pthread.dylib         0x000000018142ac1c start_wqthread + 0

Thread 7:
0   libsystem_pthread.dylib         0x000000018142ac1c start_wqthread + 0

Thread 8:
0   libsystem_pthread.dylib         0x000000018142ac1c start_wqthread + 0

Thread 9 name:
Thread 9 Crashed:
0   libsystem_kernel.dylib          0x0000000181319348 __pthread_kill + 8
1   libsystem_pthread.dylib         0x000000018142d344 pthread_kill$VARIANT$mp + 396 (pthread.c:1484)
2   libsystem_c.dylib               0x000000018128905c __abort + 152 (abort.c:128)
3   libsystem_c.dylib               0x0000000181288fc4 abort + 152 (abort.c:99)
4   libsystem_c.dylib               0x000000018125ca9c __assert_rtn + 316 (assert.c:91)
5   CFNetwork                       0x0000000181f138cc TCPIOConnection::_handleTLSEvent(nw_tls_context*, tls_handshake_message_t, void () block_pointer, bool) + 772 (TCPIOConnection.cpp:4628)
6   libnetwork.dylib                0x00000001826ee964 __tcp_connection_set_tls_message_handler_on_nw_connection_block_invoke + 168 (tcp_connection.m:1799)
7   libboringssl.dylib              0x00000001825c6cf4 ___boringssl_context_certificate_request_callback_block_invoke + 160 (boringssl_session.c:2451)
8   libdispatch.dylib               0x0000000181185088 _dispatch_call_block_and_release + 24 (init.c:994)
9   libdispatch.dylib               0x0000000181185048 _dispatch_client_callout + 16 (object.m:502)
10  libdispatch.dylib               0x000000018118ee48 _dispatch_queue_serial_drain$VARIANT$mp + 528 (inline_internal.h:2500)
11  libdispatch.dylib               0x000000018118f7d8 _dispatch_queue_invoke$VARIANT$mp + 340 (queue.c:5302)
12  libdispatch.dylib               0x000000018118ed00 _dispatch_queue_serial_drain$VARIANT$mp + 200 (inline_internal.h:2539)
13  libdispatch.dylib               0x000000018118f7d8 _dispatch_queue_invoke$VARIANT$mp + 340 (queue.c:5302)
14  libdispatch.dylib               0x0000000181190200 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 400 (queue.c:5920)
15  libdispatch.dylib               0x00000001811984a0 _dispatch_workloop_worker_thread$VARIANT$mp + 644 (source.c:2515)
16  libsystem_pthread.dylib         0x000000018142afd0 _pthread_wqthread + 932 (pthread.c:2207)
17  libsystem_pthread.dylib         0x000000018142ac20 start_wqthread + 4

Thread 10:
0   libsystem_kernel.dylib          0x00000001812f8c18 semaphore_timedwait_trap + 8
1   libdispatch.dylib               0x00000001811874d0 _dispatch_sema4_timedwait$VARIANT$mp + 84 (lock.c:149)
2   libdispatch.dylib               0x0000000181187d40 _dispatch_semaphore_wait_slow + 72 (semaphore.c:127)
3   libdispatch.dylib               0x00000001811936ac _dispatch_worker_thread + 256 (queue.c:6179)
4   libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
5   libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
6   libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 11:
0   libsystem_kernel.dylib          0x00000001812f8c18 semaphore_timedwait_trap + 8
1   libdispatch.dylib               0x00000001811874d0 _dispatch_sema4_timedwait$VARIANT$mp + 84 (lock.c:149)
2   libdispatch.dylib               0x0000000181187d40 _dispatch_semaphore_wait_slow + 72 (semaphore.c:127)
3   libdispatch.dylib               0x00000001811936ac _dispatch_worker_thread + 256 (queue.c:6179)
4   libsystem_pthread.dylib         0x000000018142c31c _pthread_body + 308 (pthread.c:740)
5   libsystem_pthread.dylib         0x000000018142c1e8 _pthread_start + 312 (pthread.c:799)
6   libsystem_pthread.dylib         0x000000018142ac28 thread_start + 4

Thread 9 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000001
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x0000000000000000   x7: 0x0000000000000403
    x8: 0x000000000c000000   x9: 0x0000000004000000  x10: 0x00000000000003e8  x11: 0x000000000000000a
   x12: 0x0000000000000000  x13: 0x0000000000000034  x14: 0x00000010082d1529  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001811b2ebc  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x000000016f98f000  x21: 0x0000000000001214  x22: 0x000000000000cabf  x23: 0x000000016f98f0e0
   x24: 0x00000001b07ee000  x25: 0x0000000000000000  x26: 0x0000000000000000  x27: 0x0000000000000000
   x28: 0x00000001c18f7f00   fp: 0x000000016f98e4c0   lr: 0x000000018142d344
    sp: 0x000000016f98e490   pc: 0x0000000181319348 cpsr: 0x00000000

As per the log to me it seems to be crashing during some TLS handshake connection but I'm kind of stuck here as I couldn't reproduce this crash and when I checked with my client they couldn't reproduce it either, they say it happens occasionally. If anyone can determine the root cause of this crash by looking at the below log or point me in right direction as to how to proceed next that would be great.

Francis F
  • 3,157
  • 3
  • 41
  • 79

0 Answers0