youtube / youtube-ios-player-helper

Lightweight helper library that allows iOS developers to add inline playback of YouTube videos through a WebView
Other
1.65k stars 684 forks source link

App crash[WebCore::TimerBase] on iPad only on iOS 11 #311

Open umair-citrusbits opened 6 years ago

umair-citrusbits commented 6 years ago

The app is crashing on iPad only. Doesn't know the exact reproducible steps because it occurs randomly. It looks like there is a problem with the javascript engine which causes weird crashes.

0. Crashed: com.apple.main-thread

0 WebCore 0x18cf24f10 WebCore::TimerBase::~TimerBase() + 120 1 WebCore 0x18cf24ec0 WebCore::TimerBase::~TimerBase() + 40 2 WebCore 0x18d10f37c WebCore::LoadableTextTrack::~LoadableTextTrack() + 160 3 WebCore 0x18d323b34 WebCore::PlaybackSessionModelMediaElement::~PlaybackSessionModelMediaElement() + 236 4 WebCore 0x18d323bd0 non-virtual thunk to WebCore::PlaybackSessionModelMediaElement::~PlaybackSessionModelMediaElement() + 16 5 WebCore 0x18d461ce0 VideoFullscreenControllerContext::~VideoFullscreenControllerContext() + 192 6 WebCore 0x18d4612f8 VideoFullscreenControllerContext::~VideoFullscreenControllerContext() + 12 7 libsystem_blocks.dylib 0x184760a5c _Block_release + 152 8 libdispatch.dylib 0x1846c0a60 _dispatch_client_callout + 16 9 libdispatch.dylib 0x1846cd65c _dispatch_main_queue_callback_4CF$VARIANT$mp + 1012 10 CoreFoundation 0x184d77070 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 12 11 CoreFoundation 0x184d74bc8 __CFRunLoopRun + 2272 12 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 13 GraphicsServices 0x186c79020 GSEventRunModal + 100 14 UIKit 0x18ecb1758 UIApplicationMain + 236 15 FullyRawAppStore 0x100ae0c14 main (FRDBManager+Fetch.swift:22) 16 libdyld.dylib 0x184725fc0 start + 4

--

0. Crashed: com.apple.main-thread

0 WebCore 0x18cf24f10 WebCore::TimerBase::~TimerBase() + 120 1 WebCore 0x18cf24ec0 WebCore::TimerBase::~TimerBase() + 40 2 WebCore 0x18d10f37c WebCore::LoadableTextTrack::~LoadableTextTrack() + 160 3 WebCore 0x18d323b34 WebCore::PlaybackSessionModelMediaElement::~PlaybackSessionModelMediaElement() + 236 4 WebCore 0x18d323bd0 non-virtual thunk to WebCore::PlaybackSessionModelMediaElement::~PlaybackSessionModelMediaElement() + 16 5 WebCore 0x18d461ce0 VideoFullscreenControllerContext::~VideoFullscreenControllerContext() + 192 6 WebCore 0x18d4612f8 VideoFullscreenControllerContext::~VideoFullscreenControllerContext() + 12 7 libsystem_blocks.dylib 0x184760a5c _Block_release + 152 8 libdispatch.dylib 0x1846c0a60 _dispatch_client_callout + 16 9 libdispatch.dylib 0x1846cd65c _dispatch_main_queue_callback_4CF$VARIANT$mp + 1012 10 CoreFoundation 0x184d77070 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 12 11 CoreFoundation 0x184d74bc8 __CFRunLoopRun + 2272 12 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 13 GraphicsServices 0x186c79020 GSEventRunModal + 100 14 UIKit 0x18ecb1758 UIApplicationMain + 236 15 FullyRawAppStore 0x100ae0c14 main (FRDBManager+Fetch.swift:22) 16 libdyld.dylib 0x184725fc0 start + 4

1. com.apple.uikit.eventfetch-thread

0 libsystem_kernel.dylib 0x184833e08 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x184833c80 mach_msg + 72 2 CoreFoundation 0x184d76e40 CFRunLoopServiceMachPort + 196 3 CoreFoundation 0x184d74908 CFRunLoopRun + 1568 4 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 5 Foundation 0x185709674 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 6 Foundation 0x18570951c -[NSRunLoop(NSRunLoop) runUntilDate:] + 148 7 UIKit 0x18e996768 -[UIEventFetcher threadMain] + 136 8 Foundation 0x185819efc NSThreadstart__ + 1040 9 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 10 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 11 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

2. com.twitter.crashlytics.ios.MachExceptionServer

0 FullyRawAppStore 0x100c96d60 CLSProcessRecordAllThreads (CLSProcess.c:376) 1 FullyRawAppStore 0x100c96d60 CLSProcessRecordAllThreads (CLSProcess.c:376) 2 FullyRawAppStore 0x100c971d4 CLSProcessRecordAllThreads (CLSProcess.c:407) 3 FullyRawAppStore 0x100c8680c CLSHandler (CLSHandler.m:26) 4 FullyRawAppStore 0x100c81b30 CLSMachExceptionServer (CLSMachException.c:446) 5 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 6 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 7 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

3. com.apple.NSURLConnectionLoader

0 libsystem_kernel.dylib 0x184833e08 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x184833c80 mach_msg + 72 2 CoreFoundation 0x184d76e40 CFRunLoopServiceMachPort + 196 3 CoreFoundation 0x184d74908 CFRunLoopRun + 1568 4 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 5 CFNetwork 0x1855a26e0 -[CoreSchedulingSetRunnable runForever] + 220 6 Foundation 0x185819efc NSThreadstart + 1040 7 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 8 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 9 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

4. com.apple.CoreMotion.MotionThread

0 libsystem_kernel.dylib 0x184833e08 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x184833c80 mach_msg + 72 2 CoreFoundation 0x184d76e40 CFRunLoopServiceMachPort + 196 3 CoreFoundation 0x184d74908 CFRunLoopRun + 1568 4 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 5 CoreFoundation 0x184ce4b28 CFRunLoopRun + 116 6 CoreMotion 0x18a2899dc CLStartStopAdvertisingBeacon + 231572 7 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 8 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 9 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

5. Thread

0 libsystem_kernel.dylib 0x1848550f4 psynch_cvwait + 8 1 libsystem_pthread.dylib 0x1849f7c90 _pthread_cond_wait$VARIANT$mp + 644 2 libc++.1.dylib 0x183f0b25c std::__1::condition_variable::wait(std::1::unique_lock&) + 24 3 JavaScriptCore 0x18c41b460 void std::1::condition_variable_any::wait<std::1::unique_lock >(std::1::unique_lock&) + 104 4 JavaScriptCore 0x18c41b074 bmalloc::Scavenger::threadRunLoop() + 164 5 JavaScriptCore 0x18c41ae1c bmalloc::Scavenger::Scavenger(std::__1::lock_guard&) + 10 6 JavaScriptCore 0x18c41b238 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) + 44 7 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 8 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 9 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

6. WebThread

0 JavaScriptCore 0x18b983b30 llint_slow_path_switch_string + 48 1 JavaScriptCore 0x18ba87b2c llint_entry + 28732 2 JavaScriptCore 0x18ba87b2c llint_entry + 28732 3 JavaScriptCore 0x18ba87cac llint_entry + 29116 4 JavaScriptCore 0x18ba87cac llint_entry + 29116 5 JavaScriptCore 0x18ba87cac llint_entry + 29116 6 JavaScriptCore 0x18ba87cac llint_entry + 29116 7 JavaScriptCore 0x18ba87cac llint_entry + 29116 8 JavaScriptCore 0x18ba87cac llint_entry + 29116 9 JavaScriptCore 0x18ba80920 vmEntryToJavaScript + 272 10 JavaScriptCore 0x18c043e98 JSC::JITCode::execute(JSC::VM, JSC::ProtoCallFrame) + 184 11 JavaScriptCore 0x18b989b50 JSC::Interpreter::executeCall(JSC::ExecState, JSC::JSObject, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464 12 JavaScriptCore 0x18c1f5a0c JSC::boundThisNoArgsFunctionCall(JSC::ExecState) + 512 13 JavaScriptCore 0x18ba88838 llint_entry + 32072 14 JavaScriptCore 0x18ba881dc llint_entry + 30444 15 JavaScriptCore 0x18ba87cac llint_entry + 29116 16 JavaScriptCore 0x18ba80920 vmEntryToJavaScript + 272 17 JavaScriptCore 0x18c043e98 JSC::JITCode::execute(JSC::VM, JSC::ProtoCallFrame) + 184 18 JavaScriptCore 0x18b989b50 JSC::Interpreter::executeCall(JSC::ExecState, JSC::JSObject, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464 19 JavaScriptCore 0x18c16bd44 JSC::profiledCall(JSC::ExecState, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr&) + 180 20 WebCore 0x18d971e58 WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject, JSC::JSValue, WebCore::ScriptExecutionContext&) + 524 21 WebCore 0x18d971a80 WebCore::ScheduledAction::execute(WebCore::Document&) + 140 22 WebCore 0x18cf2499c WebCore::DOMTimer::fired() + 1040 23 WebCore 0x18cf244f4 WebCore::ThreadTimers::sharedTimerFiredInternal() + 352 24 WebCore 0x18cf24380 WebCore::timerFired(__CFRunLoopTimer, void) + 28 25 CoreFoundation 0x184d77aa8 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 28 26 CoreFoundation 0x184d7776c CFRunLoopDoTimer + 864 27 CoreFoundation 0x184d77010 CFRunLoopDoTimers + 248 28 CoreFoundation 0x184d74b60 __CFRunLoopRun + 2168 29 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 30 WebCore 0x18cf562d0 RunWebThread(void) + 592 31 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 32 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 33 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

7. WebCore: LocalStorage

0 libsystem_kernel.dylib 0x1848550f4 psynch_cvwait + 8 1 libsystem_pthread.dylib 0x1849f7c90 _pthread_cond_wait$VARIANT$mp + 644 2 JavaScriptCore 0x18b954b8c WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 80 3 JavaScriptCore 0x18c4009ec WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 2252 4 WebKitLegacy 0x18e67ca40 bool WTF::Condition::waitUntil(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 184 5 WebKitLegacy 0x18e67f58c 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 6 WebKitLegacy 0x18e67ec9c WebCore::StorageThread::threadEntryPoint() + 68 7 JavaScriptCore 0x18c4122e0 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext) + 224 8 JavaScriptCore 0x18b950294 WTF::wtfThreadEntryPoint(void) + 12 9 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 10 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 11 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

8. AVAudioSession Notify Thread

0 libsystem_kernel.dylib 0x184833e08 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x184833c80 mach_msg + 72 2 CoreFoundation 0x184d76e40 CFRunLoopServiceMachPort + 196 3 CoreFoundation 0x184d74908 CFRunLoopRun + 1568 4 CoreFoundation 0x184c94da8 CFRunLoopRunSpecific + 552 5 AVFAudio 0x18a78e398 GenericRunLoopThread::Entry(void) + 164 6 AVFAudio 0x18a7b87a8 CAPThread::Entry(CAPThread) + 88 7 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 8 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 9 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

9. Thread

0 libsystem_kernel.dylib 0x184855d84 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x1849f3eb4 _pthread_wqthread + 928 2 libsystem_pthread.dylib 0x1849f3b08 start_wqthread + 4

10. Thread

0 libsystem_pthread.dylib 0x1849f3b04 start_wqthread + 122

11. com.apple.avkit.loggingQueue

0 libsystem_kernel.dylib 0x184855c08 __ulock_wake + 8 1 libsystem_platform.dylib 0x1849eece4 _os_unfair_lock_unlock_slow + 64 2 libobjc.A.dylib 0x183f9a0a4 _object_remove_assocations + 440 3 libobjc.A.dylib 0x183f949ac objc_destructInstance + 96 4 libsystem_blocks.dylib 0x184760a6c _Block_release + 168 5 libdispatch.dylib 0x1846c0a60 _dispatch_client_callout + 16 6 libdispatch.dylib 0x1846ca9b4 _dispatch_queue_serial_drain$VARIANT$mp + 608 7 libdispatch.dylib 0x1846cb2fc _dispatch_queue_invoke$VARIANT$mp + 336 8 libdispatch.dylib 0x1846cbcc8 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 340 9 libdispatch.dylib 0x1846d4098 _dispatch_workloop_worker_thread$VARIANT$mp + 668 10 libsystem_pthread.dylib 0x1849f3e70 _pthread_wqthread + 860 11 libsystem_pthread.dylib 0x1849f3b08 start_wqthread + 4

12. Thread

0 libsystem_pthread.dylib 0x1849f3b04 start_wqthread + 122

13. Thread

0 libsystem_kernel.dylib 0x184833e5c semaphore_timedwait_trap + 8 1 libdispatch.dylib 0x1846c302c _dispatch_sema4_timedwait$VARIANT$mp + 60 2 libdispatch.dylib 0x1846c38a0 _dispatch_semaphore_wait_slow + 72 3 libdispatch.dylib 0x1846cf1b8 _dispatch_worker_thread + 256 4 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 5 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 6 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

14. Thread

0 libsystem_kernel.dylib 0x184833e5c semaphore_timedwait_trap + 8 1 libdispatch.dylib 0x1846c302c _dispatch_sema4_timedwait$VARIANT$mp + 60 2 libdispatch.dylib 0x1846c38a0 _dispatch_semaphore_wait_slow + 72 3 libdispatch.dylib 0x1846cf1b8 _dispatch_worker_thread + 256 4 libsystem_pthread.dylib 0x1849f5220 _pthread_body + 272 5 libsystem_pthread.dylib 0x1849f5110 _pthread_body + 290 6 libsystem_pthread.dylib 0x1849f3b10 thread_start + 4

zhangtong217 commented 6 years ago

Me too,what changed by the Apple?

suzhenghao commented 6 years ago

Me too, did you solve it?

SumeetMourya commented 5 years ago

I tried with another library for this issue, it's work for me. You can try it. https://github.com/hmhv/YoutubePlayer-in-WKWebView

https://stackoverflow.com/questions/52989801/fullscreen-and-volume-buttons-are-hidden-behind-top-bar-in-youtubehelper-in-swi/53155462#53155462

timothycosta commented 5 years ago

@SumeetMourya Thanks for the library. However, your link is broken and goes to this repository instead.

I've been experiencing tons of UIWebView related crashes since Xcode 10/iOS 12 (not just with this library), so I think it's definitely time to move fully to WKWebView.