WebCore TimerBase crash on iOS 11.4.1

First, we use UIWebView, and WebView Listens to page scrolling to create WebSocket connect, but it will crash.

This is the crash info:

    * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x18ce96e7c)
    frame #0: 0x000000018ce96e7c WebCore`WebCore::TimerBase::~TimerBase() + 120
    frame #1: 0x000000018ce96ad4 WebCore`WebCore::DOMTimer::~DOMTimer() + 96
    frame #2: 0x000000018de46678 WebCore`***::HashMap<int, ***::RefPtr<WebCore::DOMTimer, ***::DumbPtrTraits<WebCore::DOMTimer> >, ***::IntHash<unsigned int>, ***::HashTraits<int>, ***::HashTraits<***::RefPtr<WebCore::DOMTimer, ***::DumbPtrTraits<WebCore::DOMTimer> > > >::remove(int const&) + 272
    frame #3: 0x000000018de3af58 WebCore`WebCore::DOMTimer::removeById(WebCore::ScriptExecutionContext&, int) + 152
    frame #4: 0x000000018d259370 WebCore`WebCore::jsDOMWindowInstanceFunctionClearTimeout(JSC::ExecState*) + 240
    frame #5: 0x000000018b9fa6c8 JavaScriptCore`llint_entry + 32072
    frame #6: 0x000000018b9f9bb0 JavaScriptCore`llint_entry + 29232
    frame #7: 0x000000018b9f9bb0 JavaScriptCore`llint_entry + 29232
    frame #8: 0x000000018b9f27b0 JavaScriptCore`vmEntryToJavaScript + 272
    frame #9: 0x000000018bfb5f50 JavaScriptCore`JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 184
    frame #10: 0x000000018b8fb664 JavaScriptCore`JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464
    frame #11: 0x000000018c0dde8c JavaScriptCore`JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, ***::NakedPtr<JSC::Exception>&) + 180
    frame #12: 0x000000018d8ca380 WebCore`WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 1176
    frame #13: 0x000000018db06cc8 WebCore`WebCore::EventTarget::fireEventListeners(WebCore::Event&, ***::Vector<***::RefPtr<WebCore::RegisteredEventListener, ***::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>) + 760
    frame #14: 0x000000018db02880 WebCore`WebCore::EventTarget::fireEventListeners(WebCore::Event&) + 596
    frame #15: 0x000000018db069b4 WebCore`WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 116
    frame #16: 0x000000018d83fc08 WebCore`WebCore::WebSocket::didReceiveMessage(***::String const&) + 88
    frame #17: 0x000000018d843bd0 WebCore`WebCore::WebSocketChannel::processFrame() + 3036
    frame #18: 0x000000018d842724 WebCore`WebCore::WebSocketChannel::processBuffer() + 112
    frame #19: 0x000000018d8424e8 WebCore`WebCore::WebSocketChannel::didReceiveSocketStreamData(WebCore::SocketStreamHandle&, char const*, unsigned long) + 112
    frame #20: 0x000000018e035058 WebCore`WebCore::SocketStreamHandleImpl::readStreamCallback(unsigned long) + 544
    frame #21: 0x0000000184c77b34 CoreFoundation`_signalEventSync + 212
    frame #22: 0x0000000184c83554 CoreFoundation`_cfstream_solo_signalEventSync + 260
    frame #23: 0x0000000184c7762c CoreFoundation`_CFStreamSignalEvent + 548
    frame #24: 0x00000001853b172c CFNetwork`SocketStream::dispatchSignalFromSocketCallbackUnlocked(SocketStreamSignalHolder*) + 64
    frame #25: 0x00000001853b6ee4 CFNetwork`SocketStream::socketCallback(__CFSocket*, unsigned long, __CFData const*, void const*) + 148
    frame #26: 0x00000001853b2d58 CFNetwork`SocketStream::_SocketCallBack_stream(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 88
    frame #27: 0x0000000184ced9f4 CoreFoundation`__CFSocketPerformV0 + 1352
    frame #28: 0x0000000184ce7404 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
    frame #29: 0x0000000184ce6c2c CoreFoundation`__CFRunLoopDoSources0 + 276
    frame #30: 0x0000000184ce479c CoreFoundation`__CFRunLoopRun + 1204
    frame #31: 0x0000000184c04da8 CoreFoundation`CFRunLoopRunSpecific + 552
    frame #32: 0x0000000186bea020 GraphicsServices`GSEventRunModal + 100
    frame #33: 0x000000018ec24758 UIKit`UIApplicationMain + 236
  * frame #34: 0x0000000102bf5ae8 Zeus`main(argc=1, argv=0x000000016d4df870) at main.m:14
    frame #35: 0x0000000184695fc0 libdyld.dylib`start + 4


I try to use WKWebView to replace UIWebView, this problem is fixed.

But UIWebView's problem, have any idea?