Thousands of crashes in MRAVConcreteRoutingDiscoverySession introduced in iOS 11

Originator:javier.api
Number:rdar://36795316 Date Originated:23-Jan-2018 02:53 PM
Status:Open Resolved:
Product:iOS + SDK Product Version:11.x
Classification:Crash/Hang/Data Loss Reproducible:Sometimes
 
Summary:
This is one of the top crashers in our app. See attached crash log.

Steps to Reproduce:
Unclear, but our app makes heavy use of the AV frameworks.

Expected Results:
The app doesn’t crash.

Actual Results:
The app crashes.

Version:
11.x

Notes:

#23. Crashed: MRAVConcreteRoutingDiscoverySession
0  libobjc.A.dylib                0x1805197f4 objc_object::release() + 16
1  libobjc.A.dylib                0x18051a138 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 836
2  libdispatch.dylib              0x180c60f14 _dispatch_last_resort_autorelease_pool_pop + 36
3  libdispatch.dylib              0x180c3d328 _dispatch_queue_invoke$VARIANT$mp + 384
4  libdispatch.dylib              0x180c3dd20 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 404
5  libdispatch.dylib              0x180c4603c _dispatch_workloop_worker_thread$VARIANT$mp + 644
6  libsystem_pthread.dylib        0x180edaf1c _pthread_wqthread + 932
7  libsystem_pthread.dylib        0x180edab6c start_wqthread + 4

--

#0. <AVCMNotificationDispatcher: 0x1c045e000> serial queue
0  libobjc.A.dylib                0x180510448 objc_msgSend + 40
1  CoreFoundation                 0x181185ca8 -[__NSDictionaryM objectForKey:] + 212
2  AVFoundation                   0x186c62f9c __111-[AVCMNotificationDispatcher _copyAndRemoveListenerAndCallbackForWeakReferenceToListener:callback:name:object:]_block_invoke + 96
3  libdispatch.dylib              0x180c32a14 _dispatch_client_callout + 16
4  libdispatch.dylib              0x180c3b618 _dispatch_queue_barrier_sync_invoke_and_complete + 56
5  AVFoundation                   0x186c62f14 -[AVCMNotificationDispatcher _copyAndRemoveListenerAndCallbackForWeakReferenceToListener:callback:name:object:] + 144
6  AVFoundation                   0x186c62c38 -[AVCMNotificationDispatcher removeListenerWithWeakReference:callback:name:object:] + 44
7  AVFoundation                   0x186c3cda4 -[AVFigRouteDescriptorOutputDeviceImpl dealloc] + 140
8  AVFoundation                   0x186c3a1a0 -[AVOutputDevice dealloc] + 236
9  MediaRemote                    0x18ca51d54 -[MRAVConcreteOutputDevice dealloc] + 48
10 CoreFoundation                 0x18124f8b8 -[__NSSingleObjectArrayI dealloc] + 44
11 MediaRemote                    0x18ca4f4dc -[MRAVLocalEndpoint setOutputDevices:] + 88
12 MediaRemote                    0x18ca4f91c -[MRAVLocalEndpoint _reloadOutputDevicesFromContext] + 220
13 CoreFoundation                 0x18124833c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
14 CoreFoundation                 0x1812478dc _CFXRegistrationPost + 420
15 CoreFoundation                 0x181247640 ___CFXNotificationPost_block_invoke + 60
16 CoreFoundation                 0x1812c5024 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1408
17 CoreFoundation                 0x18117df60 _CFXNotificationPost + 380
18 Foundation                     0x181bab348 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
19 MediaRemote                    0x18ca7990c __38-[MRAVOutputContext setOutputDevices:]_block_invoke_2 + 188
20 libdispatch.dylib              0x180c32a54 _dispatch_call_block_and_release + 24
21 libdispatch.dylib              0x180c32a14 _dispatch_client_callout + 16
22 libdispatch.dylib              0x180c3f698 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1016
23 CoreFoundation                 0x18125e544 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
24 CoreFoundation                 0x18125c120 __CFRunLoopRun + 2012
25 CoreFoundation                 0x18117be58 CFRunLoopRunSpecific + 436
26 GraphicsServices               0x183028f84 GSEventRunModal + 100
27 UIKit                          0x18a8d067c UIApplicationMain + 236
28 Twitch                         0x104b415f8 main (main.m:22)
29 libdyld.dylib                  0x180c9856c start + 4

#1. Thread
0  libsystem_kernel.dylib         0x180dc80f0 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x180edece4 _pthread_cond_wait$VARIANT$mp + 640
2  libc++.1.dylib                 0x18047fea4 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24
3  JavaScriptCore                 0x18861ff2c void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 96
4  JavaScriptCore                 0x18861fe54 bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() + 172
5  JavaScriptCore                 0x1886201b8 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
6  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
7  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
8  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#2. WebThread
0  libsystem_kernel.dylib         0x180da7568 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x180da73e0 mach_msg + 72
2  CoreFoundation                 0x18125e308 __CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x18125bed4 __CFRunLoopRun + 1424
4  CoreFoundation                 0x18117be58 CFRunLoopRunSpecific + 436
5  WebCore                        0x1890eca34 RunWebThread(void*) + 560
6  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
7  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
8  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#3. com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x180da7568 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x180da73e0 mach_msg + 72
2  CoreFoundation                 0x18125e308 __CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x18125bed4 __CFRunLoopRun + 1424
4  CoreFoundation                 0x18117be58 CFRunLoopRunSpecific + 436
5  Foundation                     0x181bb1594 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6  Foundation                     0x181bd09ac -[NSRunLoop(NSRunLoop) runUntilDate:] + 96
7  UIKit                          0x18b43a7b8 -[UIEventFetcher threadMain] + 136
8  Foundation                     0x181cb30f4 __NSThread__start__ + 996
9  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
10 libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
11 libsystem_pthread.dylib        0x180edab74 thread_start + 4

#4. com.twitter.crashlytics.ios.MachExceptionServer
0  Twitch                         0x104f7c2ec CLSProcessRecordAllThreads + 1572
1  Twitch                         0x104f7c2ec CLSProcessRecordAllThreads + 1572
2  Twitch                         0x104f7c1a8 CLSProcessRecordAllThreads + 1248
3  Twitch                         0x104f6bee8 CLSHandler + 48
4  Twitch                         0x104f66efc CLSMachExceptionServer + 424
5  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
6  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
7  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#7. com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0x180da7568 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x180da73e0 mach_msg + 72
2  CoreFoundation                 0x18125e308 __CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x18125bed4 __CFRunLoopRun + 1424
4  CoreFoundation                 0x18117be58 CFRunLoopRunSpecific + 436
5  CFNetwork                      0x181a6b128 -[__CoreSchedulingSetRunnable runForever] + 780
6  Foundation                     0x181cb30f4 __NSThread__start__ + 996
7  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
8  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
9  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#11. com.apple.CFSocket.private
0  libsystem_kernel.dylib         0x180dc8534 __select + 8
1  CoreFoundation                 0x181266840 __CFSocketManager + 644
2  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
3  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
4  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#12. AVAudioSession Notify Thread
0  libsystem_kernel.dylib         0x180da7568 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x180da73e0 mach_msg + 72
2  CoreFoundation                 0x18125e308 __CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x18125bed4 __CFRunLoopRun + 1424
4  CoreFoundation                 0x18117be58 CFRunLoopRunSpecific + 436
5  AVFAudio                       0x186ae1dc4 GenericRunLoopThread::Entry(void*) + 164
6  AVFAudio                       0x186b0c830 CAPThread::Entry(CAPThread*) + 84
7  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
8  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
9  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#20. Thread
0  libsystem_pthread.dylib        0x180edab68 start_wqthread + 122

#21. Thread
0  libsystem_kernel.dylib         0x180dc8d80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x180edaeec _pthread_wqthread + 884
2  libsystem_pthread.dylib        0x180edab6c start_wqthread + 4

#22. com.apple.root.default-qos
0  libsystem_kernel.dylib         0x180dc97c4 kevent_id + 8
1  libdispatch.dylib              0x180c4e498 _dispatch_kq_poll + 208
2  libdispatch.dylib              0x180c4ee88 _dispatch_event_loop_wait_for_ownership$VARIANT$mp + 432
3  libdispatch.dylib              0x180c40b44 _dispatch_sync_wait + 416
4  MediaRemote                    0x18cb4f644 -[MRAVConcreteRoutingDiscoverySession availableOutputDevices] + 136
5  MediaRemote                    0x18caef494 MRAVRoutingDiscoverySessionCopyAvailableOutputDevices + 40
6  MediaPlayer                    0x19200d9f0 __73-[MPAVOutputDeviceRoutingDataSource getRoutesForCategory:withCompletion:]_block_invoke + 76
7  libdispatch.dylib              0x180c32a54 _dispatch_call_block_and_release + 24
8  libdispatch.dylib              0x180c32a14 _dispatch_client_callout + 16
9  libdispatch.dylib              0x180c39bc8 _dispatch_queue_override_invoke$VARIANT$mp + 716
10 libdispatch.dylib              0x180c3fcf4 _dispatch_root_queue_drain + 600
11 libdispatch.dylib              0x180c3fa38 _dispatch_worker_thread3 + 120
12 libsystem_pthread.dylib        0x180edb06c _pthread_wqthread + 1268
13 libsystem_pthread.dylib        0x180edab6c start_wqthread + 4

#23. Crashed: MRAVConcreteRoutingDiscoverySession
0  libobjc.A.dylib                0x1805197f4 objc_object::release() + 16
1  libobjc.A.dylib                0x18051a138 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 836
2  libdispatch.dylib              0x180c60f14 _dispatch_last_resort_autorelease_pool_pop + 36
3  libdispatch.dylib              0x180c3d328 _dispatch_queue_invoke$VARIANT$mp + 384
4  libdispatch.dylib              0x180c3dd20 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 404
5  libdispatch.dylib              0x180c4603c _dispatch_workloop_worker_thread$VARIANT$mp + 644
6  libsystem_pthread.dylib        0x180edaf1c _pthread_wqthread + 932
7  libsystem_pthread.dylib        0x180edab6c start_wqthread + 4

#24. Thread
0  libsystem_kernel.dylib         0x180da75bc semaphore_timedwait_trap + 8
1  libdispatch.dylib              0x180c35000 _dispatch_sema4_timedwait$VARIANT$mp + 84
2  libdispatch.dylib              0x180c35870 _dispatch_semaphore_wait_slow + 72
3  libdispatch.dylib              0x180c411d8 _dispatch_worker_thread + 256
4  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
5  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
6  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#27. Thread
0  libsystem_kernel.dylib         0x180da75bc semaphore_timedwait_trap + 8
1  libdispatch.dylib              0x180c35000 _dispatch_sema4_timedwait$VARIANT$mp + 84
2  libdispatch.dylib              0x180c35870 _dispatch_semaphore_wait_slow + 72
3  libdispatch.dylib              0x180c411d8 _dispatch_worker_thread + 256
4  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
5  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
6  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#28. WTF::AutomaticThread
0  libsystem_kernel.dylib         0x180dc80f0 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x180edece4 _pthread_cond_wait$VARIANT$mp + 640
2  JavaScriptCore                 0x187c85340 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 148
3  JavaScriptCore                 0x18860533c WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 2256
4  JavaScriptCore                 0x188170170 bool WTF::ConditionBase::waitUntil<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 172
5  JavaScriptCore                 0x1885f127c WTF::Function<void ()>::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0>::call() + 204
6  JavaScriptCore                 0x187c8170c WTF::threadEntryPoint(void*) + 120
7  JavaScriptCore                 0x187c8164c WTF::wtfThreadEntryPoint(void*) + 84
8  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
9  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
10 libsystem_pthread.dylib        0x180edab74 thread_start + 4

#29. Thread
0  libsystem_kernel.dylib         0x180da75bc semaphore_timedwait_trap + 8
1  libdispatch.dylib              0x180c35000 _dispatch_sema4_timedwait$VARIANT$mp + 84
2  libdispatch.dylib              0x180c35870 _dispatch_semaphore_wait_slow + 72
3  libdispatch.dylib              0x180c411d8 _dispatch_worker_thread + 256
4  libsystem_pthread.dylib        0x180edc2b4 _pthread_body + 308
5  libsystem_pthread.dylib        0x180edc180 _pthread_body + 310
6  libsystem_pthread.dylib        0x180edab74 thread_start + 4

#30. Thread
0  libsystem_pthread.dylib        0x180edab68 start_wqthread + 122

#31. Thread
0  libsystem_pthread.dylib        0x180edab68 start_wqthread + 122

#32. Thread
0  libsystem_pthread.dylib        0x180edab68 start_wqthread + 122

#33. Thread
0  libsystem_kernel.dylib         0x180dc8d80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x180edb080 _pthread_wqthread + 1288
2  libsystem_pthread.dylib        0x180edab6c start_wqthread + 4

#34. Thread
0  libsystem_kernel.dylib         0x180dc8d80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x180edaeec _pthread_wqthread + 884
2  libsystem_pthread.dylib        0x180edab6c start_wqthread + 4

Comments

Hi Javier, I've been having a similar issue on iOS 11.2.1. Is the Apple Ticket number the same as this Radar ticket - 36795316? Do you have an update for the Apple Ticket that this Radar Ticket relates to? If yes, can you please update this Radar ticket with information/status of the actual Apple ticket?

Thanks & Regards, Gaurang Rathod.

By gaurang.rathod at March 1, 2018, 6:04 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!