Open paulincai opened 6 years ago
I'm facing the same issue, app is crashing with "EXC_BAD_ACCESS" error while playing video in native player via inappbrowser or directly embed the video inside ionic app. Do we have a solution for this ?
I'm having the same issue, but I can't get error messages to show.
I'm guessing this was forgotten about?
I can also concur that this only happens when the player is pushed full screen and only happens in iOS 12.
Same here in iOS 12.1
same here in iOS 12.1, Also if video is opened with IAB, intermittently opens in fullscreen, or inside IAB window. (should open fullscreen). after pushing it to fullscreen, app could crash.
Anyone else know anything about this issue or have a workaround? Also experiencing this using the Youtube player API within a Cordova app running iOS 12.
This are my logs using
├── cordova@8.0.0
├── ionic@3.20.1
└── npm@6.1.0
thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x347c00003421)
frame #0: 0x000000019384f97c WebCore`VideoFullscreenControllerContext::rateChanged(bool, float) + 308
frame #1: 0x00000001006ab824 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #2: 0x00000001006acdc8 libdispatch.dylib`_dispatch_client_callout + 16
frame #3: 0x00000001006baa78 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1360
frame #4: 0x000000018aa13dd0 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
frame #5: 0x000000018aa0ec98 CoreFoundation`__CFRunLoopRun + 1964
frame #6: 0x000000018aa0e1cc CoreFoundation`CFRunLoopRunSpecific + 436
frame #7: 0x000000018cc85584 GraphicsServices`GSEventRunModal + 100
frame #8: 0x00000001b7b09054 UIKitCore`UIApplicationMain + 212
* frame #9: 0x0000000100385e24 Thrive`main(argc=1, argv=0x000000016fa7f970) at main.m:32
frame #10: 0x000000018a4cebb4 libdyld.dylib`start + 4
thread #6, name = 'com.apple.uikit.eventfetch-thread'
frame #0: 0x000000018a60fed0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x000000018a60f3a8 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x000000018aa13bc4 CoreFoundation`__CFRunLoopServiceMachPort + 236
frame #3: 0x000000018aa0ea60 CoreFoundation`__CFRunLoopRun + 1396
frame #4: 0x000000018aa0e1cc CoreFoundation`CFRunLoopRunSpecific + 436
frame #5: 0x000000018b403404 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 300
frame #6: 0x000000018b4032b0 Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 148
frame #7: 0x00000001b7bf6808 UIKitCore`-[UIEventFetcher threadMain] + 136
frame #8: 0x000000018b5361ac Foundation`__NSThread__start__ + 1040
frame #9: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #10: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #11: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #9, name = 'JavaScriptCore bmalloc scavenger'
frame #0: 0x000000018a61af0c libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x000000018a697cd8 libsystem_pthread.dylib`_pthread_cond_wait$VARIANT$mp + 636
frame #2: 0x0000000189be8568 libc++.1.dylib`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
frame #3: 0x0000000191dbbfd8 JavaScriptCore`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
frame #4: 0x0000000191dbbe88 JavaScriptCore`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&) + 112
frame #5: 0x0000000191dbab24 JavaScriptCore`bmalloc::Scavenger::threadRunLoop() + 296
frame #6: 0x0000000191dba1e0 JavaScriptCore`bmalloc::Scavenger::threadEntryPoint(bmalloc::Scavenger*) + 12
frame #7: 0x0000000191dbbc8c JavaScriptCore`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::Scavenger*), bmalloc::Scavenger*> >(void*) + 40
frame #8: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #9: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #10: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #10, name = 'WebThread'
frame #0: 0x000000018a60fed0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x000000018a60f3a8 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001006c93f0 libdispatch.dylib`_dispatch_mach_msg_send + 1104
frame #3: 0x00000001006c8b24 libdispatch.dylib`_dispatch_mach_send_drain + 508
frame #4: 0x00000001006c531c libdispatch.dylib`_dispatch_mach_send_msg + 464
frame #5: 0x00000001006c55b8 libdispatch.dylib`_dispatch_mach_send_and_wait_for_reply + 288
frame #6: 0x00000001006c5b20 libdispatch.dylib`dispatch_mach_send_with_result_and_wait_for_reply + 56
frame #7: 0x000000018a6d6eb4 libxpc.dylib`xpc_connection_send_message_with_reply_sync + 204
frame #8: 0x000000018e13df5c CoreMedia`FigXPCRemoteClientSendSyncMessageCreatingReply + 36
frame #9: 0x000000018f7194e0 MediaToolbox`remoteXPCAsset_GetStatusOfValueForProperty + 152
frame #10: 0x0000000190ba6624 AVFoundation`-[AVFigAssetInspectorLoader _loadStatusForProperty:figAsset:error:] + 84
frame #11: 0x0000000190ba67e8 AVFoundation`-[AVFigAssetInspectorLoader statusOfValueForKey:error:] + 312
frame #12: 0x000000019348e634 WebCore`WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus() const + 248
frame #13: 0x000000019347c8c8 WebCore`WebCore::MediaPlayerPrivateAVFoundation::updateStates() + 128
frame #14: 0x0000000193499488 WebCore`WebCore::MediaPlayerPrivateAVFoundationObjC::rateDidChange(double) + 24
frame #15: 0x000000019347da58 WebCore`WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification() + 1064
frame #16: 0x0000000191d81ffc JavaScriptCore`WTF::dispatchFunctionsFromMainThread() + 308
frame #17: 0x000000018b53639c Foundation`__NSThreadPerformPerform + 336
frame #18: 0x000000018aa141cc CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
frame #19: 0x000000018aa1414c CoreFoundation`__CFRunLoopDoSource0 + 88
frame #20: 0x000000018aa13a30 CoreFoundation`__CFRunLoopDoSources0 + 176
frame #21: 0x000000018aa0e8fc CoreFoundation`__CFRunLoopRun + 1040
frame #22: 0x000000018aa0e1cc CoreFoundation`CFRunLoopRunSpecific + 436
frame #23: 0x000000019386f52c WebCore`RunWebThread(void*) + 592
frame #24: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #25: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #26: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #14, name = 'com.apple.CFStream.LegacyThread'
frame #0: 0x000000018a60fed0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x000000018a60f3a8 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x000000018aa13bc4 CoreFoundation`__CFRunLoopServiceMachPort + 236
frame #3: 0x000000018aa0ea60 CoreFoundation`__CFRunLoopRun + 1396
frame #4: 0x000000018aa0e1cc CoreFoundation`CFRunLoopRunSpecific + 436
frame #5: 0x000000018aa27260 CoreFoundation`_legacyStreamRunLoop_workThread + 268
frame #6: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #7: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #8: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #39, name = 'WebCore: LocalStorage'
frame #0: 0x000000018a61af0c libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x000000018a697cd8 libsystem_pthread.dylib`_pthread_cond_wait$VARIANT$mp + 636
frame #2: 0x0000000191da4b04 JavaScriptCore`WTF::ThreadCondition::timedWait(WTF::Mutex&, WTF::WallTime) + 80
frame #3: 0x0000000191d8bd10 JavaScriptCore`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 2004
frame #4: 0x0000000194cf31a4 WebKitLegacy`bool WTF::Condition::waitUntil<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 184
frame #5: 0x0000000194cf5e24 WebKitLegacy`std::__1::unique_ptr<WTF::Function<void ()>, std::__1::default_delete<WTF::Function<void ()> > > WTF::MessageQueue<WTF::Function<void ()> >::waitForMessageFilteredWithTimeout<WTF::MessageQueue<WTF::Function<void ()> >::waitForMessage()::'lambda'(WTF::Function<void ()> const&)>(WTF::MessageQueueWaitResult&, WTF::MessageQueue<WTF::Function<void ()> >::waitForMessage()::'lambda'(WTF::Function<void ()> const&)&&, WTF::WallTime) + 156
frame #6: 0x0000000194cf543c WebKitLegacy`WebCore::StorageThread::threadEntryPoint() + 68
frame #7: 0x0000000191da2d60 JavaScriptCore`WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 256
frame #8: 0x0000000191da42c8 JavaScriptCore`WTF::wtfThreadEntryPoint(void*) + 12
frame #9: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #10: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #11: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #42, name = 'com.apple.NSURLConnectionLoader'
frame #0: 0x000000018a60fed0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x000000018a60f3a8 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x000000018aa13bc4 CoreFoundation`__CFRunLoopServiceMachPort + 236
frame #3: 0x000000018aa0ea60 CoreFoundation`__CFRunLoopRun + 1396
frame #4: 0x000000018aa0e1cc CoreFoundation`CFRunLoopRunSpecific + 436
frame #5: 0x000000018b02f834 CFNetwork`-[__CoreSchedulingSetRunnable runForever] + 212
frame #6: 0x000000018b5361ac Foundation`__NSThread__start__ + 1040
frame #7: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #8: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #9: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #72
frame #0: 0x000000018a6a2ce8 libsystem_pthread.dylib`start_wqthread
thread #78
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x00000001006bdfa0 libdispatch.dylib`_dispatch_worker_thread + 388
frame #4: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #5: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #6: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #83, name = 'AVAudioSession Notify Thread'
frame #0: 0x000000018a60fed0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x000000018a60f3a8 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x000000018aa13bc4 CoreFoundation`__CFRunLoopServiceMachPort + 236
frame #3: 0x000000018aa0ea60 CoreFoundation`__CFRunLoopRun + 1396
frame #4: 0x000000018aa0e1cc CoreFoundation`CFRunLoopRunSpecific + 436
frame #5: 0x0000000190a1660c AVFAudio`GenericRunLoopThread::Entry(void*) + 164
frame #6: 0x0000000190a42768 AVFAudio`CAPThread::Entry(CAPThread*) + 88
frame #7: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #8: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #9: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #87
frame #0: 0x000000018a6a2ce8 libsystem_pthread.dylib`start_wqthread
thread #88, queue = 'com.apple.avkit.routeDetectorCoordinatorQueue'
frame #0: 0x000000018a60fed0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x000000018a60f3a8 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001006c568c libdispatch.dylib`_dispatch_mach_send_and_wait_for_reply + 500
frame #3: 0x00000001006c5b20 libdispatch.dylib`dispatch_mach_send_with_result_and_wait_for_reply + 56
frame #4: 0x000000018a6d6eb4 libxpc.dylib`xpc_connection_send_message_with_reply_sync + 204
frame #5: 0x000000018e13df5c CoreMedia`FigXPCRemoteClientSendSyncMessageCreatingReply + 36
frame #6: 0x000000018e13e0b8 CoreMedia`FigXPCSendStdSetPropertyMessage + 140
frame #7: 0x000000018e0109b8 CoreMedia`FigRouteDiscovererRemoteXPC_SetProperty + 64
frame #8: 0x0000000190bf090c AVFoundation`-[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl outputDeviceDiscoverySessionDidChangeDiscoveryMode:] + 452
frame #9: 0x0000000190af4134 AVFoundation`-[AVOutputDeviceDiscoverySession setDiscoveryMode:] + 136
frame #10: 0x0000000190c2ebb0 AVFoundation`-[AVRouteDetector setRouteDetectionEnabled:] + 52
frame #11: 0x000000019d0d3778 AVKit`__50+[AVRouteDetectorCoordinator beginDetectingRoutes]_block_invoke + 76
frame #12: 0x00000001006ab824 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #13: 0x00000001006acdc8 libdispatch.dylib`_dispatch_client_callout + 16
frame #14: 0x00000001006b4e6c libdispatch.dylib`_dispatch_lane_serial_drain + 720
frame #15: 0x00000001006b5b60 libdispatch.dylib`_dispatch_lane_invoke + 460
frame #16: 0x00000001006bfbfc libdispatch.dylib`_dispatch_workloop_worker_thread + 1220
frame #17: 0x000000018a6a00dc libsystem_pthread.dylib`_pthread_wqthread + 312
frame #18: 0x000000018a6a2cec libsystem_pthread.dylib`start_wqthread + 4
thread #89, queue = 'com.apple.root.background-qos'
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x000000018f17dd8c MediaAccessibility`_copyResultPreferenceXPCCall(__CFString const*, bool, void const*, bool*) + 240
frame #4: 0x000000018f17cff4 MediaAccessibility`MAPreferencesCopyProfileValue + 140
frame #5: 0x000000018f17d1e8 MediaAccessibility`MAPreferencesCopyProfileValueWithExpectedType + 28
frame #6: 0x000000018f17a2f8 MediaAccessibility`MACaptionAppearancePrefCopyDisplayType + 28
frame #7: 0x000000018f176c50 MediaAccessibility`MACaptionAppearanceGetDisplayType + 20
frame #8: 0x000000019d146fec AVKit`__37-[AVPlayerController initWithPlayer:]_block_invoke.21 + 32
frame #9: 0x00000001006ab824 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #10: 0x00000001006acdc8 libdispatch.dylib`_dispatch_client_callout + 16
frame #11: 0x00000001006be330 libdispatch.dylib`_dispatch_root_queue_drain + 716
frame #12: 0x00000001006bebc8 libdispatch.dylib`_dispatch_worker_thread2 + 156
frame #13: 0x000000018a6a017c libsystem_pthread.dylib`_pthread_wqthread + 472
frame #14: 0x000000018a6a2cec libsystem_pthread.dylib`start_wqthread + 4
thread #90
frame #0: 0x000000018a6a2ce8 libsystem_pthread.dylib`start_wqthread
thread #95
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x00000001006bdfa0 libdispatch.dylib`_dispatch_worker_thread + 388
frame #4: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #5: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #6: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #97
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x00000001006bdfa0 libdispatch.dylib`_dispatch_worker_thread + 388
frame #4: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #5: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #6: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #98, name = 'WTF::AutomaticThread'
frame #0: 0x000000018a61af0c libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x000000018a697cd8 libsystem_pthread.dylib`_pthread_cond_wait$VARIANT$mp + 636
frame #2: 0x0000000191da4b48 JavaScriptCore`WTF::ThreadCondition::timedWait(WTF::Mutex&, WTF::WallTime) + 148
frame #3: 0x0000000191d8bd10 JavaScriptCore`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 2004
frame #4: 0x0000000191d65654 JavaScriptCore`bool WTF::Condition::waitUntil<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 184
frame #5: 0x0000000191d659f4 JavaScriptCore`WTF::Function<void ()>::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0>::call() + 216
frame #6: 0x0000000191da2d60 JavaScriptCore`WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 256
frame #7: 0x0000000191da42c8 JavaScriptCore`WTF::wtfThreadEntryPoint(void*) + 12
frame #8: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #9: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #10: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #99
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x00000001006bdfa0 libdispatch.dylib`_dispatch_worker_thread + 388
frame #4: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #5: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #6: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #100
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x00000001006bdfa0 libdispatch.dylib`_dispatch_worker_thread + 388
frame #4: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #5: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #6: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #101
frame #0: 0x000000018a60ff24 libsystem_kernel.dylib`semaphore_timedwait_trap + 8
frame #1: 0x00000001006ad688 libdispatch.dylib`_dispatch_sema4_timedwait + 64
frame #2: 0x00000001006adfe4 libdispatch.dylib`_dispatch_semaphore_wait_slow + 72
frame #3: 0x00000001006bdfa0 libdispatch.dylib`_dispatch_worker_thread + 388
frame #4: 0x000000018a69f2ac libsystem_pthread.dylib`_pthread_body + 128
frame #5: 0x000000018a69f20c libsystem_pthread.dylib`_pthread_start + 48
frame #6: 0x000000018a6a2cf4 libsystem_pthread.dylib`thread_start + 4
thread #102, queue = 'com.apple.coremedia.routediscoverer.xpc.notifications'
frame #0: 0x000000018a61b428 libsystem_kernel.dylib`__semwait_signal + 8
frame #1: 0x000000018a5905d0 libsystem_c.dylib`nanosleep + 212
frame #2: 0x000000018a5904a4 libsystem_c.dylib`usleep + 64
frame #3: 0x0000000190bf06a4 AVFoundation`-[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl _routePresentChanged] + 28
frame #4: 0x0000000190bb40fc AVFoundation`AVCMNotificationDispatcherCallback + 200
frame #5: 0x000000018a9f2928 CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
frame #6: 0x000000018a9f28f4 CoreFoundation`___CFXRegistrationPost_block_invoke + 64
frame #7: 0x000000018a9f1de4 CoreFoundation`_CFXRegistrationPost + 392
frame #8: 0x000000018a9f1a90 CoreFoundation`___CFXNotificationPost_block_invoke + 96
frame #9: 0x000000018a969d70 CoreFoundation`-[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1404
frame #10: 0x000000018a9f151c CoreFoundation`_CFXNotificationPost + 696
frame #11: 0x000000018a9f244c CoreFoundation`CFNotificationCenterPostNotificationWithOptions + 128
frame #12: 0x000000018e02468c CoreMedia`CMNotificationCenterPostNotification + 124
frame #13: 0x000000018e141104 CoreMedia`__figXPC_HandleNotificationMessage_block_invoke + 164
frame #14: 0x00000001006ab824 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #15: 0x00000001006acdc8 libdispatch.dylib`_dispatch_client_callout + 16
frame #16: 0x00000001006b4e6c libdispatch.dylib`_dispatch_lane_serial_drain + 720
frame #17: 0x00000001006b5b60 libdispatch.dylib`_dispatch_lane_invoke + 460
frame #18: 0x00000001006bfbfc libdispatch.dylib`_dispatch_workloop_worker_thread + 1220
frame #19: 0x000000018a6a00dc libsystem_pthread.dylib`_pthread_wqthread + 312
frame #20: 0x000000018a6a2cec libsystem_pthread.dylib`start_wqthread + 4
thread #103
frame #0: 0x000000018a6a2ce8 libsystem_pthread.dylib`start_wqthread
thread #104
frame #0: 0x000000018a61bb9c libsystem_kernel.dylib`__workq_kernreturn + 8
frame #1: 0x000000018a6a0100 libsystem_pthread.dylib`_pthread_wqthread + 348
frame #2: 0x000000018a6a2cec libsystem_pthread.dylib`start_wqthread + 4
thread #105
frame #0: 0x000000018a6a2ce8 libsystem_pthread.dylib`start_wqthread
(lldb)
should be classified as serious BUG!
I've done some testing of this, using the version of this plugin off the master branch.
Test method:
Results
iPhone 7 running iOS 12.1.1 Beta 3 (16C5050a) using WKWebView:
cordova.InAppBrowser.open("https://www.youtube.com/watch?v=Vi-33aj12xw", '_blank', "loaction=no,toolbar=yes,usewkwebview=yes")
Result: Plays 2nd video fine in full screen
iPhone 7 running iOS 12.1.1 Beta 3 (16C5050a) using UIWebView:
cordova.InAppBrowser.open("https://www.youtube.com/watch?v=Vi-33aj12xw", '_blank', "loaction=no,toolbar=yes,usewkwebview=no")
Result: Plays 2nd video fine in full screen
iPad Air running iOS 12.1 (16B92) using WKWebView:
cordova.InAppBrowser.open("https://www.youtube.com/watch?v=Vi-33aj12xw", '_blank', "loaction=no,toolbar=yes,usewkwebview=yes")
Result: Plays 2nd video fine in full screen
iPad Air running iOS 12.1 (16B92) using UIWebView:
cordova.InAppBrowser.open("https://www.youtube.com/watch?v=Vi-33aj12xw", '_blank', "loaction=no,toolbar=yes,usewkwebview=no")
Result: Crashes with memory read exception
However, from the stack trace above, the crash seems to happen on a thread on which the Cordova app is not directly running (there are no references to this plugin's classes in the stack trace) and appears to arise inside the native iOS UIKit framework, specifically WebCore VideoFullscreenControllerContext:rateChanged
.
This SO post and https://github.com/youtube/youtube-ios-player-helper/issues/322 reference similar crashes, leading me to believe the cause of the crash is not specific to this plugin.
Still no updates on this I see...
I solved this by updating web view to wkwebview
https://github.com/ionic-team/cordova-plugin-ionic-webview#installation-instructions
cordova-lib: 7.1.0 cordova-ios: 4.5.4 cordova-plugin-inappbrowser: 3.0.0 Same behavior in cordova-plugin-inappbrowser-wkwebview
Tested with IPhone 6 - IOS latest Beta of 12, Xcode10 and Simulator for Iphone 6, IOS11.4, Simulator for Iphone XS IOS 12.
Open a Youtube link in inappbrowser. The native video player starts, all OK. Stop, tap on another suggested video. In real device app closes down. In Simulator app freezes.
The highlight in red is displayed right after tap to watch the second video.
Meaning of EXC_BAD_ACCESS
Later Edit: after more testing, I guess it happens with any video source and it seems to be an issue between the inapbrowser and the native video player. Later..er Edit: all ok if 'allowInlineMediaPlayback=yes' and the native player is not opened. However, if the video is pushed to full screen (native player) -> go to the top of this text.