Crash reporting shows that WebKitTestRunner can crash under MomentumEventDispatcher::displayDidRefresh() running various scrolling tests, because MomentumEventDispatcher is null here: Thread 6 Crashed:: 0 com.apple.WebKit 0x14c138f9c WebKit::MomentumEventDispatcher::displayDidRefresh(unsigned int) 1 com.apple.WebKit 0x14ba63ec4 WebKit::RemoteLayerTreeEventDispatcher::didRefreshDisplay(unsigned int) 2 com.apple.WebKit 0x14ba6c488 WebKit::RemoteLayerTreeEventDispatcherDisplayLinkClient::displayLinkFired(unsigned int, WebCore::DisplayUpdate, bool, bool)::'lambda'()::operator()() const 3 com.apple.WebKit 0x14ba6c2cc WTF::Detail::CallableWrapper<WebKit::RemoteLayerTreeEventDispatcherDisplayLinkClient::displayLinkFired(unsigned int, WebCore::DisplayUpdate, bool, bool)::'lambda'(), void>::call() 4 com.apple.JavaScriptCore 0x119046934 WTF::Function<void ()>::operator()() const 5 com.apple.JavaScriptCore 0x116fd8370 WTF::RunLoop::performWork() 6 com.apple.JavaScriptCore 0x116fdc994 WTF::RunLoop::performWork(void*) 7 com.apple.CoreFoundation 0x182d86d14 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (/AppleInternal/Library/BuildRoots/2fa2494e-d6b7-11ed-97bc-4a062cfa165b/Library/Caches/com.apple.xbs/Sources/CoreFoundation/CoreFoundation/RunLoop.subproj/CFRunLoop.c:1957) 8 com.apple.CoreFoundation 0x182d86ca8 __CFRunLoopDoSource0 + 176 (/AppleInternal/Library/BuildRoots/2fa2494e-d6b7-11ed-97bc-4a062cfa165b/Library/Caches/com.apple.xbs/Sources/CoreFoundation/CoreFoundation/RunLoop.subproj/CFRunLoop.c:2001) 9 com.apple.CoreFoundation 0x182d86a18 __CFRunLoopDoSources0 + 244 (/AppleInternal/Library/BuildRoots/2fa2494e-d6b7-11ed-97bc-4a062cfa165b/Library/Caches/com.apple.xbs/Sources/CoreFoundation/CoreFoundation/RunLoop.subproj/CFRunLoop.c:2038) 10 com.apple.CoreFoundation 0x182d85620 __CFRunLoopRun + 828 (/AppleInternal/Library/BuildRoots/2fa2494e-d6b7-11ed-97bc-4a062cfa165b/Library/Caches/com.apple.xbs/Sources/CoreFoundation/CoreFoundation/RunLoop.subproj/CFRunLoop.c:2953) 11 com.apple.CoreFoundation 0x182d84c30 CFRunLoopRunSpecific + 600 (/AppleInternal/Library/BuildRoots/2fa2494e-d6b7-11ed-97bc-4a062cfa165b/Library/Caches/com.apple.xbs/Sources/CoreFoundation/CoreFoundation/RunLoop.subproj/CFRunLoop.c:3418) 12 com.apple.CoreFoundation 0x182e023e0 CFRunLoopRun + 64 (/AppleInternal/Library/BuildRoots/2fa2494e-d6b7-11ed-97bc-4a062cfa165b/Library/Caches/com.apple.xbs/Sources/CoreFoundation/CoreFoundation/RunLoop.subproj/CFRunLoop.c:3444) 13 com.apple.JavaScriptCore 0x116fdcf3c WTF::RunLoop::run() 14 com.apple.JavaScriptCore 0x116fda500 WTF::RunLoop::create(char const*, WTF::ThreadType, WTF::Thread::QOS)::$_1::operator()() const 15 com.apple.JavaScriptCore 0x116fda48c WTF::Detail::CallableWrapper<WTF::RunLoop::create(char const*, WTF::ThreadType, WTF::Thread::QOS)::$_1, void>::call() 16 com.apple.JavaScriptCore 0x119046934 WTF::Function<void ()>::operator()() const 17 com.apple.JavaScriptCore 0x117020fe4 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) 18 com.apple.JavaScriptCore 0x11702d5b0 WTF::wtfThreadEntryPoint(void*)
<rdar://108105416>