Azure / Communication

Azure Communication Services - SDKs and Release Notes
MIT License
320 stars 99 forks source link

[BUG] CommunicationCalling crashes on hangup #440

Open tjprescott opened 2 years ago

tjprescott commented 2 years ago

@tompi commented on Mon Feb 07 2022

Describe the bug Experienced 3 crashes on 2 different iphones yesterday, unfortunately not "our" phones, so cant provide device logs.

Exception or Stack Trace

check_status
SIGABRT: Failed (1). Unknown error. RequestCorrelationVector: . ResponseCorrelationVector:
Main thread
LAST EXCEPTION BACKTRACE
CoreFoundation
__exceptionPreprocess
libobjc.A.dylib
objc_exception_throw
CoreFoundation
+[NSException raise:format:]
AzureCommunicationCalling
check_status
TCPRLink.iOS
wrapper_managed_to_native_ApiDefinitions_Messaging_objc_msgSend_intptr_intptr_0
TCPRLink.iOS
ACSCallAgent.g.cs:81
TCPRLink.iOS
TCPRLink_iOS_ACS_VideoCallManager_Hangup <unknown>:1
TCPRLink.iOS
SessionManager.cs:226
TCPRLink.iOS
AsyncMethodBuilder.cs:316
TCPRLink.iOS
TCPRLink_Services_SessionManager_StopSession
TCPRLink.iOS
ActiveSessionPortraitPageViewModel.cs:52
TCPRLink.iOS
AsyncMethodBuilder.cs:316
TCPRLink.iOS
TCPRLink_Pages_DuringSession_ActiveSession_ActiveSessionPortraitPageViewModel_EndSession
TCPRLink.iOS
AsyncAwaitBestPractices_MVVM_AsyncCommand__c__DisplayClass2_0__ConvertExecuteb__0_object <unknown>:1
TCPRLink.iOS
AsyncAwaitBestPractices_MVVM_BaseAsyncCommand_2_TExecute_REF_TCanExecute_REF_ExecuteAsync_TExecute_REF <unknown>:1
TCPRLink.iOS
AsyncAwaitBestPractices_MVVM_BaseAsyncCommand_2_TExecute_REF_TCanExecute_REF_System_Windows_Input_ICommand_Execute_object <unknown>:1
TCPRLink.iOS
Xamarin_Forms_ButtonElement_ElementClicked_Xamarin_Forms_VisualElement_Xamarin_Forms_Internals_IButtonElement (D:\a\1\s\Xamarin.Forms.Core\ButtonElement.cs:60)
TCPRLink.iOS
Xamarin_Forms_Button_SendClicked (D:\a\1\s\Xamarin.Forms.Core\Button.cs:173)
TCPRLink.iOS
Xamarin_Forms_Platform_iOS_ButtonElementManager_OnButtonTouchUpInside_Xamarin_Forms_IButtonController (D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\ButtonElementManager.cs:86)
TCPRLink.iOS
Xamarin_Forms_Platform_iOS_ButtonRenderer_OnButtonTouchUpInside_object_System_EventArgs (D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\ButtonRenderer.cs:189)
TCPRLink.iOS
UIControl.cs:39
TCPRLink.iOS
wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
TCPRLink.iOS
mono_jit_runtime_invoke mini-runtime.c:3190
TCPRLink.iOS
mono_runtime_invoke_checked object.c:3052
TCPRLink.iOS
mono_runtime_invoke object.c:3107
TCPRLink.iOS
native_to_managed_trampoline_18(objc_object*, objc_selector*, _MonoMethod**, unsigned int) registrar.m:960
TCPRLink.iOS
-[UIKit_UIControlEventProxy BridgeSelector] registrar.m:9877
UIKitCore
-[UIApplication sendAction:to:from:forEvent:]
TCPRLink.iOS
wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr
TCPRLink.iOS
UIApplication.cs:73
TCPRLink.iOS
TCPRLink_iOS_Application_Main_string__ <unknown>:1
TCPRLink.iOS
wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
TCPRLink.iOS
mono_jit_runtime_invoke mini-runtime.c:3190
TCPRLink.iOS
mono_runtime_invoke_checked object.c:3052
TCPRLink.iOS
mono_runtime_exec_main_checked object.c:0
TCPRLink.iOS
mono_jit_exec driver.c:1383
TCPRLink.iOS
xamarin_main monotouch-main.m:497
TCPRLink.iOS
main main.m:252
0x0000000105291aa4

To Reproduce Not able to reproduce

Setup (please complete the following information):

I know this is not the best quality bug report, so feel free to close it at your discretion, just felt I should share in case you didnt know about this...

mariusu-msft commented 2 years ago

@tompi do you have any telemetry for the calls where this happened? Such as Call ID?

We may need that to be effective at debugging this.

tompi commented 2 years ago

@mariusu-msft Really sorry, I checked our logs and the 3 times this happened, it was always a hangup right after call initiation. Looks like user decided to abort the call... So it seems call didnt go through(and then we dont get the call id...).

Like I said, go ahead and close at your discretion, I just thought you might be interested, since this is crashing in your "check_status" method. I will be more alert and try to get hold of the device next time this happens(we are logging more details to file on device, but these were out of house devices...)

tompi commented 2 years ago

@mariusu-msft Hey, this just happened on my iphone. Attached blog is what you need to debug right?

Might be something I didnt manage to cleanup, cause it seems this happens if a call(group) goes through, I hang up, and then make a new call pretty quickly, then it crashes.

acs_sdk-6-3554596564.blog.zip

I just realized I have no idea if the last number or "0" is the "last log" :) so I just uploaded the "0" one as well in case...

acs_sdk-0-s113024543.blog.zip

Svantulden commented 6 months ago

We are also recently finding this crash in our Firebase crashlytics, since we upgraded from version 2.3.0 to 2.8.0. It seems to be a sporadic crash, as the amount of these crashes per user is one. But it's our most occurring crash at the moment.

It crashes on the following ACS code:

let newRendererView: RendererView = try newRenderer.createView(withOptions: CreateViewOptions(scalingMode: scalingMode))
Full stacktrace (without UUID's for ACS btw 🤔) ``` Crashlytics - Stack trace Application: nl.AppName.chat Platform: apple Version: 4.24.0 (5750) Issue: bda3660e4670e760401bc985546956a0 Session: d58d76efdd844d889bb2821a1dd44687_DNE_0_v2 Date: Thu Apr 18 2024 14:54:16 GMT+0200 (Central European Summer Time) Fatal Exception: ACSException 0 CoreFoundation 0x940c __exceptionPreprocess 1 libobjc.A.dylib 0x15c28 objc_exception_throw 2 CoreFoundation 0xeb704 __CFDictionaryCreateGeneric 3 AzureCommunicationCalling 0x188b5bc (Missing UUID c2c499b5bf613863a5932e066bd71d87) 4 AzureCommunicationCalling 0x18df520 (Missing UUID c2c499b5bf613863a5932e066bd71d87) 5 AzureCommunicationCalling 0x18e0360 (Missing UUID c2c499b5bf613863a5932e066bd71d87) 6 AppName 0x9cedc ParticipantView.updateRendering(newRenderer:scalingMode:) + 153 (ParticipantView.swift:153) 7 AppName 0x9c7c8 closure #1 in ParticipantView.updateVideoStream(remoteVideoStream:) + 105 (ParticipantView.swift:105) 8 AppName 0xa7f40 thunk for @escaping @callee_guaranteed () -> () () 9 libdispatch.dylib 0x637a8 _dispatch_call_block_and_release 10 libdispatch.dylib 0x64780 _dispatch_client_callout 11 libdispatch.dylib 0x10bdc _dispatch_main_queue_drain 12 libdispatch.dylib 0x1082c _dispatch_main_queue_callback_4CF$VARIANT$mp 13 CoreFoundation 0x919ac __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ 14 CoreFoundation 0x75648 __CFRunLoopRun 15 CoreFoundation 0x79d20 CFRunLoopRunSpecific 16 GraphicsServices 0x1998 GSEventRunModal 17 UIKitCore 0x371448 -[UIApplication _run] 18 UIKitCore 0x3710c0 UIApplicationMain 19 AppName 0x136e4 main + 20 (AppDelegate.swift:20) 20 ??? 0x1f844c344 (Missing) Crashed: com.google.firebase.crashlytics.ios.exception 0 AppName 0x37c2c4 FIRCLSProcessRecordAllThreads + 393 (FIRCLSProcess.c:393) 1 AppName 0x37c6a4 FIRCLSProcessRecordAllThreads + 424 (FIRCLSProcess.c:424) 2 AppName 0x38a174 FIRCLSHandler + 34 (FIRCLSHandler.m:34) 3 AppName 0x389fc8 __FIRCLSExceptionRecord_block_invoke + 232 (FIRCLSException.mm:232) 4 libdispatch.dylib 0x64780 _dispatch_client_callout + 16 5 libdispatch.dylib 0x11830 _dispatch_lane_barrier_sync_invoke_and_complete + 52 6 AppName 0x388fd4 FIRCLSExceptionRecord + 234 (FIRCLSException.mm:234) 7 AppName 0x389ae8 FIRCLSExceptionRecordNSException + 126 (FIRCLSException.mm:126) 8 AppName 0x388c2c FIRCLSTerminateHandler() + 398 (FIRCLSException.mm:398) 9 libc++abi.dylib 0x13424 std::__terminate(void (*)()) + 12 10 libc++abi.dylib 0x133d4 std::terminate() + 52 11 libobjc.A.dylib 0x2ae80 objc::DenseMapBase, objc::DenseMapInfo, objc::detail::DenseMapPair >, objc_class*, PendingInitialize*, objc::DenseMapValueInfo, objc::DenseMapInfo, objc::detail::DenseMapPair >::FatalCorruptHashTables(objc::detail::DenseMapPair const*, unsigned int) const + 10 12 libdispatch.dylib 0x64794 _dispatch_client_callout + 36 13 libdispatch.dylib 0x10bdc _dispatch_main_queue_drain + 928 14 libdispatch.dylib 0x1082c _dispatch_main_queue_callback_4CF$VARIANT$mp + 36 15 CoreFoundation 0x919ac __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 16 CoreFoundation 0x75648 __CFRunLoopRun + 2080 17 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 18 GraphicsServices 0x1998 GSEventRunModal + 160 19 UIKitCore 0x371448 -[UIApplication _run] + 868 20 UIKitCore 0x3710c0 UIApplicationMain + 312 21 AppName 0x136e4 main + 20 (AppDelegate.swift:20) 22 ??? 0x1f844c344 (Missing) com.apple.uikit.eventfetch-thread 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 CoreFoundation 0x74148 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x752e0 __CFRunLoopRun + 1208 6 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 7 Foundation 0x3e0e8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 208 8 Foundation 0x3dfe4 -[NSRunLoop(NSRunLoop) runUntilDate:] + 60 9 UIKitCore 0x493914 -[UIEventFetcher threadMain] + 404 10 Foundation 0x55c4c __NSThread__start__ + 704 11 libsystem_pthread.dylib 0x30ec _pthread_start + 116 12 libsystem_pthread.dylib 0x172c thread_start + 8 com.google.firebase.crashlytics.MachExceptionServer 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 AppName 0x38a730 FIRCLSMachExceptionServer + 192 (FIRCLSMachException.c:192) 5 libsystem_pthread.dylib 0x30ec _pthread_start + 116 6 libsystem_pthread.dylib 0x172c thread_start + 8 com.apple.CFNetwork.CustomProtocols 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 CoreFoundation 0x74148 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x752e0 __CFRunLoopRun + 1208 6 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 7 CFNetwork 0x229510 _CFURLStorageSessionDisableCache + 50860 8 Foundation 0x55c4c __NSThread__start__ + 704 9 libsystem_pthread.dylib 0x30ec _pthread_start + 116 10 libsystem_pthread.dylib 0x172c thread_start + 8 com.apple.NSURLConnectionLoader 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 CoreFoundation 0x74148 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x752e0 __CFRunLoopRun + 1208 6 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 7 CFNetwork 0x229510 _CFURLStorageSessionDisableCache + 50860 8 Foundation 0x55c4c __NSThread__start__ + 704 9 libsystem_pthread.dylib 0x30ec _pthread_start + 116 10 libsystem_pthread.dylib 0x172c thread_start + 8 WebThread 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 CoreFoundation 0x74148 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x752e0 __CFRunLoopRun + 1208 6 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 7 WebCore 0xc8410c + 780 8 libsystem_pthread.dylib 0x30ec _pthread_start + 116 9 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0xfac semaphore_wait_trap + 8 1 libdispatch.dylib 0x4508 _dispatch_sema4_wait$VARIANT$mp + 24 2 libdispatch.dylib 0x4b64 _dispatch_semaphore_wait_slow + 148 3 AzureCommunicationCalling 0x1581e98 spl::semaWait(spl::EventGCD*&) + 24 4 AzureCommunicationCalling 0x15fd458 auf::tpManagerThreadTrampoline(SplOpaqueUpperLayerThread*) + 68 5 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0xfac semaphore_wait_trap + 8 1 libdispatch.dylib 0x4508 _dispatch_sema4_wait$VARIANT$mp + 24 2 libdispatch.dylib 0x4b64 _dispatch_semaphore_wait_slow + 148 3 AzureCommunicationCalling 0x1581c6c spl::eventWait(spl::EventGCD*&, std::__1::chrono::duration>) + 80 4 AzureCommunicationCalling 0x15f970c SplOpaqueUpperLayerThread::wait(std::__1::chrono::duration>) + 44 5 AzureCommunicationCalling 0x15a0d40 auf::Dispatcher::runLoopCore(bool, auf::IDispatcher*) + 356 6 AzureCommunicationCalling 0x15a1320 auf::Dispatcher::runUntilQuit(bool, auf::IDispatcher*) + 96 7 AzureCommunicationCalling 0x15b9b8c auf::AsyncTraceThread::dispatchLoop(bool) + 232 8 AzureCommunicationCalling 0x15f937c SplOpaqueUpperLayerThread::run() + 152 9 AzureCommunicationCalling 0x1605830 auf::priv::MRMWTransport::dispatch(void*, auf::IDispatcher*) + 108 10 AzureCommunicationCalling 0x15fceac auf::ThreadPoolExecutorImp::workLoop(auf::Worker*, SplOpaqueUpperLayerThread*) + 600 11 AzureCommunicationCalling 0x15fcc20 auf::tpImpThreadTrampoline(SplOpaqueUpperLayerThread*) + 56 12 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 13 libsystem_pthread.dylib 0x30ec _pthread_start + 116 14 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0xfc4 semaphore_timedwait_trap + 8 1 libdispatch.dylib 0x4580 _dispatch_sema4_timedwait$VARIANT$mp + 60 2 libdispatch.dylib 0x4b18 _dispatch_semaphore_wait_slow + 72 3 AzureCommunicationCalling 0x1581cac spl::eventWait(spl::EventGCD*&, std::__1::chrono::duration>) + 144 4 AzureCommunicationCalling 0x10c2fc0 callback::SleepCounter::GoSleep(unsigned int) + 204 5 AzureCommunicationCalling 0x10bb940 callback::manager::GoSleep() + 132 6 AzureCommunicationCalling 0x10b3f08 Backbone::Run() + 364 7 AzureCommunicationCalling 0x15f937c SplOpaqueUpperLayerThread::run() + 152 8 AzureCommunicationCalling 0x1605830 auf::priv::MRMWTransport::dispatch(void*, auf::IDispatcher*) + 108 9 AzureCommunicationCalling 0x15fceac auf::ThreadPoolExecutorImp::workLoop(auf::Worker*, SplOpaqueUpperLayerThread*) + 600 10 AzureCommunicationCalling 0x15fcc20 auf::tpImpThreadTrampoline(SplOpaqueUpperLayerThread*) + 56 11 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 12 libsystem_pthread.dylib 0x30ec _pthread_start + 116 13 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x2800 kevent + 8 1 AzureCommunicationCalling 0x16076bc apal::ReactorImp::eventLoop(rt::IntrusivePtr const&) + 628 2 AzureCommunicationCalling 0x15f937c SplOpaqueUpperLayerThread::run() + 152 3 AzureCommunicationCalling 0x1605830 auf::priv::MRMWTransport::dispatch(void*, auf::IDispatcher*) + 108 4 AzureCommunicationCalling 0x15fceac auf::ThreadPoolExecutorImp::workLoop(auf::Worker*, SplOpaqueUpperLayerThread*) + 600 5 AzureCommunicationCalling 0x15fcc20 auf::tpImpThreadTrampoline(SplOpaqueUpperLayerThread*) + 56 6 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 7 libsystem_pthread.dylib 0x30ec _pthread_start + 116 8 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0xfc4 semaphore_timedwait_trap + 8 1 libdispatch.dylib 0x4580 _dispatch_sema4_timedwait$VARIANT$mp + 60 2 libdispatch.dylib 0x4b18 _dispatch_semaphore_wait_slow + 72 3 AzureCommunicationCalling 0x1581e6c spl::semaWait(spl::EventGCD*&, std::__1::chrono::duration>) + 92 4 AzureCommunicationCalling 0x1601428 auf::TimerHandler::timerWorkLoop() + 164 5 AzureCommunicationCalling 0x15f937c SplOpaqueUpperLayerThread::run() + 152 6 AzureCommunicationCalling 0x1605830 auf::priv::MRMWTransport::dispatch(void*, auf::IDispatcher*) + 108 7 AzureCommunicationCalling 0x15fceac auf::ThreadPoolExecutorImp::workLoop(auf::Worker*, SplOpaqueUpperLayerThread*) + 600 8 AzureCommunicationCalling 0x15fcc20 auf::tpImpThreadTrampoline(SplOpaqueUpperLayerThread*) + 56 9 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 10 libsystem_pthread.dylib 0x30ec _pthread_start + 116 11 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x255f64 RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 348 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0xe5307c CMMTaskDispatcher::DispatcherThreadFunc() + 172 5 AzureCommunicationCalling 0xe53474 void* std::__1::__thread_proxy>, CMMTaskDispatcher::Initialize()::$_0>>(void*) + 44 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x255f64 RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 348 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0xe5307c CMMTaskDispatcher::DispatcherThreadFunc() + 172 5 AzureCommunicationCalling 0xe53474 void* std::__1::__thread_proxy>, CMMTaskDispatcher::Initialize()::$_0>>(void*) + 44 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x255f64 RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 348 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0xd63024 MMGetMessage + 208 5 AzureCommunicationCalling 0xe1386c CMediaPlatformImpl::MessagePumpFunc() + 160 6 AzureCommunicationCalling 0xe137c0 CMediaPlatformImpl::MessagePumpThreadProc(void*) + 12 7 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 8 libsystem_pthread.dylib 0x30ec _pthread_start + 116 9 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x2800 kevent + 8 1 AzureCommunicationCalling 0x25a108 RtcPalIOCP::ProcessIO(_LIST_ENTRY*) + 164 2 AzureCommunicationCalling 0x259bb4 RtcPalIOCP::GetQueuedCompletionStatus(RtcPalOverlappedEntry*, unsigned int, unsigned int*) + 160 3 AzureCommunicationCalling 0xbce96c CTransportManagerImpl::TransportWorkerThread(CTransportManagerImpl*, RtcPalIOCP*) + 244 4 AzureCommunicationCalling 0xbce5ec CTransportManagerImpl::TransportWorkerThreadProc(void*) + 192 5 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x2549fc RTCPAL_TASK_QUEUE::Dequeue(RTCPAL_TASK_QUEUE_ITEM*, unsigned int, unsigned int*, unsigned int) + 548 3 AzureCommunicationCalling 0x5beef4 CSlimStreamingEngineImpl::EngineWorkerThread(CSlimStreamingEngineImpl*) + 192 4 AzureCommunicationCalling 0x5be320 CSlimStreamingEngineImpl::EngineWorkerThreadProc(void*) + 12 5 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x25605c RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 596 3 AzureCommunicationCalling 0x2561cc RtcPalWaitForAnyObject + 76 4 AzureCommunicationCalling 0x5be420 CSlimStreamingEngineImpl::TimerThreadProc(void*) + 244 5 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x255f64 RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 348 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0xcd8478 RtpEventHandlerThread::EventHandlerThreadProc(void*) + 140 5 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 6 libsystem_pthread.dylib 0x30ec _pthread_start + 116 7 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x25605c RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 596 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0xd62bd8 CMMMsgTimer::ThreadFunction() + 476 5 AzureCommunicationCalling 0xd62958 MMMsgTimerThreadFunction(void*) + 12 6 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 7 libsystem_pthread.dylib 0x30ec _pthread_start + 116 8 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0xfac semaphore_wait_trap + 8 1 libdispatch.dylib 0x4508 _dispatch_sema4_wait$VARIANT$mp + 24 2 libdispatch.dylib 0x4b64 _dispatch_semaphore_wait_slow + 148 3 AzureCommunicationCalling 0x1581d20 spl::eventWait(spl::EventGCD*&) + 44 4 AzureCommunicationCalling 0x15fe024 auf::SingleThreadExecutorImp::dispatchCallsUntilDone(bool*) + 464 5 AzureCommunicationCalling 0x15fe1b0 auf::sttptThreadTrampoline(SplOpaqueUpperLayerThread*) + 44 6 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 7 libsystem_pthread.dylib 0x30ec _pthread_start + 116 8 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x14ac __semwait_signal + 8 1 libsystem_c.dylib 0x5434 nanosleep + 216 2 AzureCommunicationCalling 0x1587e80 spl::sleep(std::__1::chrono::duration>) + 108 3 AzureCommunicationCalling 0x92ea54 HeartbeatReporter::mainHeartbeatThread() + 136 4 AzureCommunicationCalling 0x15f937c SplOpaqueUpperLayerThread::run() + 152 5 AzureCommunicationCalling 0x1605830 auf::priv::MRMWTransport::dispatch(void*, auf::IDispatcher*) + 108 6 AzureCommunicationCalling 0x15fceac auf::ThreadPoolExecutorImp::workLoop(auf::Worker*, SplOpaqueUpperLayerThread*) + 600 7 AzureCommunicationCalling 0x15fcc20 auf::tpImpThreadTrampoline(SplOpaqueUpperLayerThread*) + 56 8 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 9 libsystem_pthread.dylib 0x30ec _pthread_start + 116 10 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x25605c RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 596 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0x62d6ec RtcAudio::AudioProcessThread::AudioProcessThreadProc() + 272 5 AzureCommunicationCalling 0x62d5d0 RtcAudio::AudioProcessThread::AudioProcessThreadProc(void*) + 16 6 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 7 libsystem_pthread.dylib 0x30ec _pthread_start + 116 8 libsystem_pthread.dylib 0x172c thread_start + 8 caulk.messenger.shared:21 0 libsystem_kernel.dylib 0xfac semaphore_wait_trap + 8 1 caulk 0xd60 caulk::semaphore::timed_wait(double) + 200 2 caulk 0x1ca8 caulk::concurrent::details::worker_thread::run() + 32 3 caulk 0x20dc void* caulk::thread_proxy > >(void*) + 48 4 libsystem_pthread.dylib 0x30ec _pthread_start + 116 5 libsystem_pthread.dylib 0x172c thread_start + 8 AURemoteIO::IOThread 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 libEmbeddedSystemAUs.dylib 0x9c424 void* caulk::thread_proxy > >(void*) 5 libsystem_pthread.dylib 0x30ec _pthread_start + 116 6 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x99ac _pthread_cond_wait$VARIANT$mp + 1236 2 AzureCommunicationCalling 0x25605c RtcPalThreadWaitContext::WaitAny(unsigned int, RtcPalSemaphore* const*, unsigned int) + 596 3 AzureCommunicationCalling 0x255cc8 RtcPalWaitForSingleObject + 68 4 AzureCommunicationCalling 0x62d6ec RtcAudio::AudioProcessThread::AudioProcessThreadProc() + 272 5 AzureCommunicationCalling 0x62d5d0 RtcAudio::AudioProcessThread::AudioProcessThreadProc(void*) + 16 6 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 7 libsystem_pthread.dylib 0x30ec _pthread_start + 116 8 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 AzureCommunicationCalling 0x9c355c SLIQ_I::getLastIdx4x4(short*, unsigned char const*) + 144 1 AzureCommunicationCalling 0x9c2474 SLIQ_I::H264SubDCTQuant4x4x4_GENERIC(unsigned char*, unsigned char*, int, short*, short*, short*, int, int*, signed char*) + 80 2 AzureCommunicationCalling 0x97771c SLIQ_I::MbCoder::TransformMbLuma(SLIQ_I::LumaMode*) + 560 3 AzureCommunicationCalling 0x979808 SLIQ_I::MbCoder::Transform(SLIQ_I::LumaMode*, SLIQ_I::ChromaMode*) + 160 4 AzureCommunicationCalling 0x973b78 SLIQ_I::MbCoder::SaveMbInfo(SLIQ_I::LumaMode*, SLIQ_I::ChromaMode*) + 48 5 AzureCommunicationCalling 0x95e114 SLIQ_I::MbCoder::Analyse(int, bool) + 1668 6 AzureCommunicationCalling 0x975220 SLIQ_I::MbCoder::EncodeMb(int) + 672 7 AzureCommunicationCalling 0x9757e0 SLIQ_I::H264LayerEncoder::EncodeMbRange() + 80 8 AzureCommunicationCalling 0x94893c SLIQ_I::SoftwareEncoder::ExecuteEncoding() + 108 9 AzureCommunicationCalling 0x97b22c SLIQ_I::H264Encoder::OnEncodeFrame(SLIQ_I::EncodeFrameInfo*) + 1020 10 AzureCommunicationCalling 0x9482e0 SLIQ_I::SoftwareEncoder::EncodeFrame(SLIQ_I::EncodeFrameInfo*) + 660 11 AzureCommunicationCalling 0x947588 SLIQ_I::SoftwareEncoder::EncodeQueuedFrames(bool) + 316 12 AzureCommunicationCalling 0x946760 SLIQ_I::SoftwareEncoder::AddFrame(SLIQ::Frame const*, SLIQ::ScreenFrameInfo const*) + 1072 13 AzureCommunicationCalling 0x6ff240 H264SkypeEncoder::AddFrame() + 248 14 AzureCommunicationCalling 0x700170 H264SkypeEncoder::EncodeFrame(IRtcPalVideoFrameWrapper*) + 1016 15 AzureCommunicationCalling 0x73b854 MLEStreamEncoder::EncodeFrame(FrameEncodeParam&) + 100 16 AzureCommunicationCalling 0x729824 CRtmCodecsMLEInterface::EncodeFrame(MLEStreamEncoder&, FrameEncodeParam&, IRtcPalVideoFrameWrapper**) + 308 17 AzureCommunicationCalling 0x726c64 CRtmCodecsMLEInterface::mainMLEEncThread() + 2776 18 AzureCommunicationCalling 0x726180 CRtmCodecsMLEInterface::mainMLEEncThread(void*) + 12 19 AzureCommunicationCalling 0x25582c RtcPalThread::ThreadFunc(void*) + 60 20 libsystem_pthread.dylib 0x30ec _pthread_start + 116 21 libsystem_pthread.dylib 0x172c thread_start + 8 Thread 0 libsystem_kernel.dylib 0xfac semaphore_wait_trap + 8 1 libdispatch.dylib 0x4508 _dispatch_sema4_wait$VARIANT$mp + 24 2 libdispatch.dylib 0x4b64 _dispatch_semaphore_wait_slow + 148 3 AzureCommunicationCalling 0x1581d20 spl::eventWait(spl::EventGCD*&) + 44 4 AzureCommunicationCalling 0x946808 SLIQ_I::ThreadRunner::Run() + 76 5 AzureCommunicationCalling 0x15f937c SplOpaqueUpperLayerThread::run() + 152 6 AzureCommunicationCalling 0x1605830 auf::priv::MRMWTransport::dispatch(void*, auf::IDispatcher*) + 108 7 AzureCommunicationCalling 0x15fceac auf::ThreadPoolExecutorImp::workLoop(auf::Worker*, SplOpaqueUpperLayerThread*) + 600 8 AzureCommunicationCalling 0x15fcc20 auf::tpImpThreadTrampoline(SplOpaqueUpperLayerThread*) + 56 9 AzureCommunicationCalling 0x15875a8 spl::threadPosixEntry(void*) + 280 10 libsystem_pthread.dylib 0x30ec _pthread_start + 116 11 libsystem_pthread.dylib 0x172c thread_start + 8 com.apple.root.default-qos 0 libsystem_kernel.dylib 0x1f3c __psynch_mutexwait + 8 1 libsystem_pthread.dylib 0x430c _pthread_mutex_firstfit_lock_wait + 80 2 libsystem_pthread.dylib 0xa720 _pthread_mutex_firstfit_lock_slow$VARIANT$mp + 304 3 libc++.1.dylib 0x1432c std::__1::recursive_mutex::lock() + 12 4 AzureCommunicationCalling 0x72d64c CRtmCodecsMLEInterface::MLEProcessInput(unsigned int, unsigned int, IRtcPalVideoFrameWrapper*, int) + 256 5 AzureCommunicationCalling 0x73eab8 RtmCodecsMleRawStreamConsumer::DeliverFrame(unsigned int, IRtcPalVideoFrameWrapper*, void*, bool) + 336 6 AzureCommunicationCalling 0x843874 RtcPalVideoRawStreamManager::Request::Deliver(RtcPalVideoRawStreamManager&) + 716 7 AzureCommunicationCalling 0x848e40 RtcPalVideoRawStreamManager::ExecuteFrameDelivery() + 124 8 AzureCommunicationCalling 0x842624 RtcPalVideoAsyncTask::ThreadPoolCallback(RtcPalWorkItem*, void*) + 52 9 libdispatch.dylib 0x64780 _dispatch_client_callout + 16 10 libdispatch.dylib 0x13bdc _dispatch_root_queue_drain + 640 11 libdispatch.dylib 0x142ac _dispatch_worker_thread2 + 172 12 libsystem_pthread.dylib 0x1b94 _pthread_wqthread + 224 13 libsystem_pthread.dylib 0x1720 start_wqthread + 8 Thread 0 libsystem_pthread.dylib 0x1718 start_wqthread + 270 Thread 0 libsystem_pthread.dylib 0x1718 start_wqthread + 270 Thread 0 libsystem_kernel.dylib 0x14f0 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x1c1c _pthread_wqthread + 360 2 libsystem_pthread.dylib 0x1720 start_wqthread + 8 Thread 0 libsystem_kernel.dylib 0x14f0 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x1c1c _pthread_wqthread + 360 2 libsystem_pthread.dylib 0x1720 start_wqthread + 8 ```

Different iOS versions / background/forground / devices.