UIWebView WebCore TimerBase crash only on 11.3 (15

2019-06-15 13:08发布

I've recently got a crash report from Crash Report Tools. This crash is being refered to UIWebView WebCore crash, my app uses UIWebView only ,And i can't switch to WKWebview recently. Below is the crash report,and I can't reproduce it. It happened on device iPhone 6,7,8,X, but only using version iOS 11.3 (15E216).

this crash has 3 diffrent crash stack. Any advice would be helpful.

type 1:

0 WebCore WebCore::TimerBase::~TimerBase() + 120  
1 WebCore WebCore::TimerBase::~TimerBase() + 40  
2 WebCore WebCore::ImageLoader::~ImageLoader() + 2076  
3 WebCore WebCore::HTMLImageElement::~HTMLImageElement() + 224  
4 WebCore WebCore::HTMLImageElement::~HTMLImageElement() + 12  
5 JavaScriptCore void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)1, (JSC::MarkedBlock::Handle::SweepMode)1, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)1, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 212  

type 2:

0 WebCore WebCore::TimerBase::~TimerBase() + 120  
1 WebCore WebCore::TimerBase::~TimerBase() + 40  
2 WebCore WebCore::XMLHttpRequest::~XMLHttpRequest() + 116  
3 WebCore WebCore::XMLHttpRequest::~XMLHttpRequest() + 12  
4 JavaScriptCore void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)1, (JSC::MarkedBlock::Handle::SweepMode)1, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)1, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 212  
5 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&)::'lambda'()::operator()() const + 408  

type 3:

0 WebCore WebCore::TimerBase::~TimerBase() + 120  
1 WebCore WebCore::TimerBase::~TimerBase() + 40  
2 WebCore WebCore::MediaElementSession::~MediaElementSession() + 96  
3 WebCore WebCore::HTMLMediaElement::~HTMLMediaElement() + 1340  
4 WebCore WebCore::HTMLVideoElement::~HTMLVideoElement() + 176  
5 JavaScriptCore void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)1, (JSC::MarkedBlock::Handle::SweepMode)1, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)1, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 212  

==

fully crash stack:

type 1:

#0 Thread  


SIGTRAP  


0 WebCore WebCore::TimerBase::~TimerBase() + 120  
1 WebCore WebCore::TimerBase::~TimerBase() + 40  
2 WebCore WebCore::ImageLoader::~ImageLoader() + 2076  
3 WebCore WebCore::HTMLImageElement::~HTMLImageElement() + 224  
4 WebCore WebCore::HTMLImageElement::~HTMLImageElement() + 12  
5 JavaScriptCore void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)1, (JSC::MarkedBlock::Handle::SweepMode)1, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)1, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 212  
6 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&)::'lambda'()::operator()() const + 408  
7 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&) + 320  
8 JavaScriptCore JSC::JSDestructibleObjectHeapCellType::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) + 32  
9 JavaScriptCore JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) + 372  
10 JavaScriptCore JSC::LocalAllocator::tryAllocateIn(JSC::MarkedBlock::Handle*) + 40  
11 JavaScriptCore JSC::LocalAllocator::tryAllocateWithoutCollecting() + 48  
12 JavaScriptCore JSC::LocalAllocator::allocateSlowCase(JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 292  
13 JavaScriptCore JSC::CompleteSubspace::allocateNonVirtual(JSC::VM&, unsigned long, JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 216  
14 WebCore std::__1::enable_if<std::is_same<WebCore::GainNode, WebCore::GainNode>::value, WebCore::JSDOMWrapperConverterTraits<WebCore::GainNode>::WrapperClass*>::type WebCore::createWrapper<WebCore::GainNode, WebCore::GainNode>(WebCore::JSDOMGlobalObject*, ***::Ref<WebCore::GainNode, ***::DumbPtrTraits<WebCore::GainNode> >&&) + 220  
15 WebCore WebCore::toJS(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::GainNode&) + 136  
16 WebCore WebCore::jsAudioContextPrototypeFunctionCreateGain(JSC::ExecState*) + 264  
17 JavaScriptCore _llint_entry + 31860  
18 JavaScriptCore _llint_entry + 29020  
19 JavaScriptCore _llint_entry + 30040  
20 JavaScriptCore _llint_entry + 29020  
21 JavaScriptCore _llint_entry + 29020  
22 JavaScriptCore _llint_entry + 29020  
23 JavaScriptCore _llint_entry + 29020  
24 JavaScriptCore _llint_entry + 29020  
25 JavaScriptCore _llint_entry + 29020  
26 JavaScriptCore _llint_entry + 29020  
27 JavaScriptCore _llint_entry + 29020  
28 JavaScriptCore _llint_entry + 29020  
29 JavaScriptCore _llint_entry + 29020  
30 JavaScriptCore _llint_entry + 29020  
31 JavaScriptCore _llint_entry + 29020  
32 JavaScriptCore _llint_entry + 29020  
33 JavaScriptCore _llint_entry + 29020  
34 JavaScriptCore _llint_entry + 29020  
35 JavaScriptCore _llint_entry + 29020  
36 JavaScriptCore _vmEntryToJavaScript + 272  
37 JavaScriptCore JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 184  
38 JavaScriptCore JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464  
39 JavaScriptCore JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, ***::NakedPtr<JSC::Exception>&) + 180  
40 WebCore WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 1176  
41 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&, ***::Vector<***::RefPtr<WebCore::RegisteredEventListener, ***::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>) + 760  
42 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&) + 596  
43 WebCore WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 116  
44 WebCore WebCore::WebSocket::didReceiveBinaryData(***::Vector<unsigned char, 0ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>&&) + 236  
45 WebCore WebCore::WebSocketChannel::processFrame() + 2912  
46 WebCore WebCore::WebSocketChannel::processBuffer() + 112  
47 WebCore WebCore::WebSocketChannel::didReceiveSocketStreamData(WebCore::SocketStreamHandle&, char const*, unsigned long) + 112  
48 WebCore WebCore::SocketStreamHandleImpl::readStreamCallback(unsigned long) + 544  
49 CoreFoundation __signalEventSync + 212  
50 CoreFoundation __cfstream_solo_signalEventSync + 260  
51 CoreFoundation __CFStreamSignalEvent + 548  
52 CFNetwork SocketStream::dispatchSignalFromSocketCallbackUnlocked(SocketStreamSignalHolder*) + 64  
53 CFNetwork SocketStream::socketCallback(__CFSocket*, unsigned long, __CFData const*, void const*) + 148  
54 CFNetwork SocketStream::_SocketCallBack_stream(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 88  
55 CoreFoundation ___CFSocketPerformV0 + 1352  
56 CoreFoundation ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24  
57 CoreFoundation ___CFRunLoopDoSources0 + 276  
58 CoreFoundation ___CFRunLoopRun + 1204  
59 CoreFoundation CFRunLoopRunSpecific + 552  
60 GraphicsServices GSEventRunModal + 100  
61 UIKit UIApplicationMain + 236  
62 x5gamehelper main + 88  
63 libdyld.dylib _start + 4  

type 2:

#0 Thread  


SIGTRAP  


0 WebCore WebCore::TimerBase::~TimerBase() + 120  
1 WebCore WebCore::TimerBase::~TimerBase() + 40  
2 WebCore WebCore::XMLHttpRequest::~XMLHttpRequest() + 116  
3 WebCore WebCore::XMLHttpRequest::~XMLHttpRequest() + 12  
4 JavaScriptCore void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)1, (JSC::MarkedBlock::Handle::SweepMode)1, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)1, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 212  
5 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&)::'lambda'()::operator()() const + 408  
6 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&) + 320  
7 JavaScriptCore JSC::JSDestructibleObjectHeapCellType::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) + 32  
8 JavaScriptCore JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) + 372  
9 JavaScriptCore JSC::LocalAllocator::tryAllocateIn(JSC::MarkedBlock::Handle*) + 40  
10 JavaScriptCore JSC::LocalAllocator::tryAllocateWithoutCollecting() + 48  
11 JavaScriptCore JSC::LocalAllocator::allocateSlowCase(JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 292  
12 JavaScriptCore JSC::CompleteSubspace::allocateNonVirtual(JSC::VM&, unsigned long, JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 216  
13 WebCore std::__1::enable_if<std::is_same<WebCore::GainNode, WebCore::GainNode>::value, WebCore::JSDOMWrapperConverterTraits<WebCore::GainNode>::WrapperClass*>::type WebCore::createWrapper<WebCore::GainNode, WebCore::GainNode>(WebCore::JSDOMGlobalObject*, ***::Ref<WebCore::GainNode, ***::DumbPtrTraits<WebCore::GainNode> >&&) + 220  
14 WebCore WebCore::toJS(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::GainNode&) + 136  
15 WebCore WebCore::jsAudioContextPrototypeFunctionCreateGain(JSC::ExecState*) + 264  
16 JavaScriptCore _llint_entry + 31860  
17 JavaScriptCore _llint_entry + 29020  
18 JavaScriptCore _llint_entry + 30040  
19 JavaScriptCore _llint_entry + 29020  
20 JavaScriptCore _llint_entry + 29020  
21 JavaScriptCore _llint_entry + 29020  
22 JavaScriptCore _llint_entry + 29020  
23 JavaScriptCore _llint_entry + 29020  
24 JavaScriptCore _llint_entry + 29020  
25 JavaScriptCore _llint_entry + 29020  
26 JavaScriptCore _llint_entry + 29020  
27 JavaScriptCore _llint_entry + 29020  
28 JavaScriptCore _llint_entry + 29020  
29 JavaScriptCore _llint_entry + 28904  
30 JavaScriptCore _llint_entry + 28904  
31 JavaScriptCore _llint_entry + 28904  
32 JavaScriptCore _llint_entry + 29020  
33 JavaScriptCore _llint_entry + 29020  
34 JavaScriptCore _llint_entry + 28904  
35 JavaScriptCore _llint_entry + 29020  
36 JavaScriptCore _llint_entry + 29020  
37 JavaScriptCore _vmEntryToJavaScript + 272  
38 JavaScriptCore JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 184  
39 JavaScriptCore JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464  
40 JavaScriptCore JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, ***::NakedPtr<JSC::Exception>&) + 180  
41 WebCore WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 1176  
42 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&, ***::Vector<***::RefPtr<WebCore::RegisteredEventListener, ***::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>) + 760  
43 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&) + 596  
44 WebCore WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 116  
45 WebCore WebCore::WebSocket::didReceiveBinaryData(***::Vector<unsigned char, 0ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>&&) + 236  
46 WebCore WebCore::WebSocketChannel::processFrame() + 2912  
47 WebCore WebCore::WebSocketChannel::processBuffer() + 112  
48 WebCore WebCore::WebSocketChannel::didReceiveSocketStreamData(WebCore::SocketStreamHandle&, char const*, unsigned long) + 112  
49 WebCore WebCore::SocketStreamHandleImpl::readStreamCallback(unsigned long) + 544  
50 CoreFoundation __signalEventSync + 212  
51 CoreFoundation __cfstream_solo_signalEventSync + 260  
52 CoreFoundation __CFStreamSignalEvent + 548  
53 CFNetwork SocketStream::dispatchSignalFromSocketCallbackUnlocked(SocketStreamSignalHolder*) + 64  
54 CFNetwork SocketStream::socketCallback(__CFSocket*, unsigned long, __CFData const*, void const*) + 148  
55 CFNetwork SocketStream::_SocketCallBack_stream(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 88  
56 CoreFoundation ___CFSocketPerformV0 + 1352  
57 CoreFoundation ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24  
58 CoreFoundation ___CFRunLoopDoSources0 + 276  
59 CoreFoundation ___CFRunLoopRun + 1204  
60 CoreFoundation CFRunLoopRunSpecific + 552  
61 GraphicsServices GSEventRunModal + 100  
62 UIKit UIApplicationMain + 236  
63 x5gamehelper main + 88  
64 libdyld.dylib _start + 4  

type 3:

#0 Thread  


SIGTRAP  


0 WebCore WebCore::TimerBase::~TimerBase() + 120  
1 WebCore WebCore::TimerBase::~TimerBase() + 40  
2 WebCore WebCore::MediaElementSession::~MediaElementSession() + 96  
3 WebCore WebCore::HTMLMediaElement::~HTMLMediaElement() + 1340  
4 WebCore WebCore::HTMLVideoElement::~HTMLVideoElement() + 176  
5 JavaScriptCore void JSC::MarkedBlock::Handle::specializedSweep<true, (JSC::MarkedBlock::Handle::EmptyMode)1, (JSC::MarkedBlock::Handle::SweepMode)1, (JSC::MarkedBlock::Handle::SweepDestructionMode)1, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)1, (JSC::MarkedBlock::Handle::MarksMode)1, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) + 212  
6 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&)::'lambda'()::operator()() const + 408  
7 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&) + 320  
8 JavaScriptCore JSC::JSDestructibleObjectHeapCellType::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) + 32  
9 JavaScriptCore JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) + 372  
10 JavaScriptCore JSC::LocalAllocator::tryAllocateIn(JSC::MarkedBlock::Handle*) + 40  
11 JavaScriptCore JSC::LocalAllocator::tryAllocateWithoutCollecting() + 48  
12 JavaScriptCore JSC::LocalAllocator::allocateSlowCase(JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 292  
13 JavaScriptCore JSC::CompleteSubspace::allocateNonVirtual(JSC::VM&, unsigned long, JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 216  
14 WebCore std::__1::enable_if<std::is_same<WebCore::WebSocket, WebCore::WebSocket>::value, WebCore::JSDOMWrapperConverterTraits<WebCore::WebSocket>::WrapperClass*>::type WebCore::createWrapper<WebCore::WebSocket, WebCore::WebSocket>(WebCore::JSDOMGlobalObject*, ***::Ref<WebCore::WebSocket, ***::DumbPtrTraits<WebCore::WebSocket> >&&) + 220  
15 WebCore WebCore::constructJSWebSocket1(JSC::ExecState*) + 284  
16 WebCore WebCore::JSDOMConstructor<WebCore::JSWebSocket>::construct(JSC::ExecState*) + 136  
17 JavaScriptCore JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*) + 580  
18 JavaScriptCore _llint_entry + 30024  
19 JavaScriptCore _llint_entry + 28904  
20 JavaScriptCore _llint_entry + 28904  
21 JavaScriptCore _llint_entry + 29020  
22 JavaScriptCore _llint_entry + 28904  
23 JavaScriptCore _llint_entry + 28904  
24 JavaScriptCore _llint_entry + 29020  
25 JavaScriptCore _llint_entry + 29020  
26 JavaScriptCore _llint_entry + 29020  
27 JavaScriptCore _llint_entry + 29020  
28 JavaScriptCore _vmEntryToJavaScript + 272  
29 JavaScriptCore JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 184  
30 JavaScriptCore JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464  
31 JavaScriptCore JSC::boundThisNoArgsFunctionCall(JSC::ExecState*) + 512  
32 JavaScriptCore _llint_entry + 31860  
33 JavaScriptCore _llint_entry + 29020  
34 JavaScriptCore _vmEntryToJavaScript + 272  
35 JavaScriptCore JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 184  
36 JavaScriptCore JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464  
37 JavaScriptCore JSC::boundThisNoArgsFunctionCall(JSC::ExecState*) + 512  
38 JavaScriptCore _llint_entry + 31860  
39 JavaScriptCore _llint_entry + 29020  
40 JavaScriptCore _llint_entry + 29020  
41 JavaScriptCore _llint_entry + 29020  
42 JavaScriptCore _llint_entry + 28904  
43 JavaScriptCore _llint_entry + 29020  
44 JavaScriptCore _llint_entry + 28904  
45 JavaScriptCore _llint_entry + 28904  
46 JavaScriptCore _llint_entry + 28904  
47 JavaScriptCore _vmEntryToJavaScript + 272  
48 JavaScriptCore JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 184  
49 JavaScriptCore JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 464  
50 JavaScriptCore JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, ***::NakedPtr<JSC::Exception>&) + 180  
51 WebCore WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 1176  
52 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&, ***::Vector<***::RefPtr<WebCore::RegisteredEventListener, ***::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>) + 760  
53 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&) + 596  
54 WebCore WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 116  
55 WebCore WebCore::WebSocket::didReceiveBinaryData(***::Vector<unsigned char, 0ul, ***::CrashOnOverflow, 16ul, ***::FastMalloc>&&) + 236  
56 WebCore WebCore::WebSocketChannel::processFrame() + 2912  
57 WebCore WebCore::WebSocketChannel::processBuffer() + 112  
58 WebCore WebCore::WebSocketChannel::didReceiveSocketStreamData(WebCore::SocketStreamHandle&, char const*, unsigned long) + 112  
59 WebCore WebCore::SocketStreamHandleImpl::readStreamCallback(unsigned long) + 544  
60 CoreFoundation __signalEventSync + 212  
61 CoreFoundation __cfstream_solo_signalEventSync + 260  
62 CoreFoundation __CFStreamSignalEvent + 548  
63 CFNetwork SocketStream::dispatchSignalFromSocketCallbackUnlocked(SocketStreamSignalHolder*) + 64  
64 CFNetwork SocketStream::socketCallback(__CFSocket*, unsigned long, __CFData const*, void const*) + 148  
65 CFNetwork SocketStream::_SocketCallBack_stream(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 88  
66 CoreFoundation ___CFSocketPerformV0 + 1352  
67 CoreFoundation ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24  
68 CoreFoundation ___CFRunLoopDoSources0 + 276  
69 CoreFoundation ___CFRunLoopRun + 1204  
70 CoreFoundation CFRunLoopRunSpecific + 552  
71 GraphicsServices GSEventRunModal + 100  
72 UIKit UIApplicationMain + 236  
73 x5gamehelper main + 88  
74 libdyld.dylib _start + 4  

Can anybody help me ? :)

2条回答
地球回转人心会变
2楼-- · 2019-06-15 13:12

You appear to have exposed a bug with TimerBase in WebKit as reported here: https://bugs.webkit.org/show_bug.cgi?id=182931

They mention a fix, which may have been picked up in the recently released 11.3.1.

You can see the fix here if you're curious.

查看更多
淡お忘
3楼-- · 2019-06-15 13:16

I had faced same type of issue due to JavaScriptCore. After wasted 3-4 days time, Finally got below solution.

Just disable JSC_useJIT envirnment to false for iOS 11.0. It is worked for me.

I put this code in didFinishLaunchingWithOptions method in AppDelegate file:

   setenv("JSC_useJIT", "false", 0);

I hope this will help.

Find reference from Here

查看更多
登录 后发表回答