Multiple UIWebView WebCore Crashes

时光怂恿深爱的人放手 提交于 2019-12-04 10:27:56

问题


I'm embedding YouTube videos using the power of the YouTube Helper Library. However, we're seeing multiple crashes in production related to WebCore and a couple related to JavaScriptCore. It might be important to note that these crashes are only happening on iOS 12 devices.

See below for details of some of the crashes:

1. VideoFullscreenControllerContext::rateChanged(bool, float)

Thread 0 name:
Thread 0 Crashed:
0   WebCore                         0x000000024227c270 
VideoFullscreenControllerContext::rateChanged(bool, float) + 308 (WebVideoFullscreenControllerAVKit.mm:396)
1   WebCore                         0x000000024227c164 VideoFullscreenControllerContext::rateChanged(bool, float) + 40 (WebVideoFullscreenControllerAVKit.mm:388)
2   libdispatch.dylib               0x0000000238f236c8 _dispatch_call_block_and_release + 24 (init.c:1372)
3   libdispatch.dylib               0x0000000238f24484 _dispatch_client_callout + 16 (object.m:511)
4   libdispatch.dylib               0x0000000238f03b44 _dispatch_main_queue_callback_4CF$VARIANT$armv81 + 1012 (inline_internal.h:2441)
5   CoreFoundation                  0x000000023947a1bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 (CFRunLoop.c:1813)
6   CoreFoundation                  0x0000000239475084 __CFRunLoopRun + 1964 (CFRunLoop.c:3113)
7   CoreFoundation                  0x00000002394745b8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3247)
8   GraphicsServices                0x000000023b6e8584 GSEventRunModal + 100 (GSEvent.c:2245)
9   UIKitCore                       0x0000000265ebb558 UIApplicationMain + 212 (UIApplication.m:4341)
10  SteerClear                      0x0000000100e2f078 main + 56 (AppDelegate.swift:25)
11  libdyld.dylib                   0x0000000238f34b94 start + 4

-

2. VideoFullscreenControllerContext::currentTimeChanged(double, double)

Thread 0 name:
Thread 0 Crashed:
0   WebCore                         0x000000021dcf7ea4 VideoFullscreenControllerContext::currentTimeChanged(double, double) + 296 (WebVideoFullscreenControllerAVKit.mm:370)
1   WebCore                         0x000000021dcf7da0 VideoFullscreenControllerContext::currentTimeChanged(double, double) + 36 (WebVideoFullscreenControllerAVKit.mm:362)
2   libdispatch.dylib               0x000000021499f6c8 _dispatch_call_block_and_release + 24 (init.c:1372)
3   libdispatch.dylib               0x00000002149a0484 _dispatch_client_callout + 16 (object.m:511)
4   libdispatch.dylib               0x000000021494c9ec _dispatch_main_queue_callback_4CF$VARIANT$mp + 1068 (inline_internal.h:2441)
5   CoreFoundation                  0x0000000214ef61bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 (CFRunLoop.c:1813)
6   CoreFoundation                  0x0000000214ef1084 __CFRunLoopRun + 1964 (CFRunLoop.c:3113)
7   CoreFoundation                  0x0000000214ef05b8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3247)
8   GraphicsServices                0x0000000217164584 GSEventRunModal + 100 (GSEvent.c:2245)
9   UIKitCore                       0x0000000241937558 UIApplicationMain + 212 (UIApplication.m:4341)
10  SteerClear                      0x0000000100c0f078 main + 56 (AppDelegate.swift:25)
11  libdyld.dylib                   0x00000002149b0b94 start + 4

-

3. WebCore::PlaybackSessionModelMediaElement::updateForEventName(WTF::AtomicString const&)

Thread 4 name:
Thread 4 Crashed:
0   WebCore                         0x0000000197d825bc WebCore::PlaybackSessionModelMediaElement::updateForEventName(WTF::AtomicString const&) + 1240 (PlaybackSessionModelMediaElement.mm:150)
1   WebCore                         0x0000000197d82564 WebCore::PlaybackSessionModelMediaElement::updateForEventName(WTF::AtomicString const&) + 1152 (PlaybackSessionModelMediaElement.mm:148)
2   WebCore                         0x00000001986bdc28 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 16ul>) + 736 (EventTarget.cpp:292)
3   WebCore                         0x00000001986bb548 WebCore::EventTarget::fireEventListeners(WebCore::Event&) + 260 (EventTarget.cpp:234)
4   WebCore                         0x00000001986b8460 WebCore::dispatchEventInDOM(WebCore::Event&, WebCore::EventPath const&) + 152 (EventDispatcher.cpp:91)
5   WebCore                         0x00000001986b8128 WebCore::EventDispatcher::dispatchEvent(WebCore::Node&, WebCore::Event&) + 700 (EventDispatcher.cpp:159)
6   WebCore                         0x000000019886dd90 WebCore::HTMLMediaElement::dispatchEvent(WebCore::Event&) + 192 (HTMLMediaElement.cpp:5763)
7   WebCore                         0x00000001986c0780 WebCore::GenericEventQueue::dispatchOneEvent() + 168 (GenericEventQueue.cpp:68)
8   WebCore                         0x0000000198b6f918 WebCore::TaskDispatcher<WebCore::Timer>::sharedTimerFired() + 204 (Function.h:56)
9   WebCore                         0x0000000198b8cec0 WebCore::ThreadTimers::sharedTimerFiredInternal() + 352 (ThreadTimers.cpp:117)
10  WebCore                         0x0000000198bd17ac WebCore::timerFired(__CFRunLoopTimer*, void*) + 28 (MainThreadSharedTimerCF.cpp:74)
11  CoreFoundation                  0x000000018f0d6bf0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28 (CFRunLoop.c:1830)
12  CoreFoundation                  0x000000018f0d6920 __CFRunLoopDoTimer + 864 (CFRunLoop.c:2417)
13  CoreFoundation                  0x000000018f0d6154 __CFRunLoopDoTimers + 248 (CFRunLoop.c:2564)
14  CoreFoundation                  0x000000018f0d1030 __CFRunLoopRun + 1880 (CFRunLoop.c:0)
15  CoreFoundation                  0x000000018f0d05b8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3247)
16  WebCore                         0x0000000197ef7ba4 RunWebThread(void*) + 592 (WebCoreThread.mm:612)
17  libsystem_pthread.dylib         0x000000018ed612fc _pthread_body + 128 (pthread.c:837)
18  libsystem_pthread.dylib         0x000000018ed6125c _pthread_start + 48 (pthread.c:864)
19  libsystem_pthread.dylib         0x000000018ed64d08 thread_start + 4

-

Any help would be appreciated. I have not been able to reproduce these crashes. However, we did get input from a user that a video never loaded and then the app crashed, so this could be related to memory.

来源:https://stackoverflow.com/questions/52727079/multiple-uiwebview-webcore-crashes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!