我最近收到了Crash Report Tools的崩溃报告.这个崩溃是指UIWebView WebCore崩溃,我的应用程序只使用UIWebView,而我最近无法切换到WKWebview.下面是崩溃报告,我无法重现它.它发生在iPhone 6,7,8,X设备上,但只使用iOS 11.3版本(15E216).
这次崩溃有3个不同的崩溃堆栈.任何意见将是有益的.
类型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
第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::JSDestructibleObjectDestroyFunc const&) + 212 5 JavaScriptCore void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*,JSC::JSDestructibleObjectDestroyFunc const&)::'lambda'()::operator()() const + 408
类型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::JSDestructibleObjectDestroyFunc const&) + 212
==
完全崩溃堆栈:
类型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::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::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,***::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*,__CFData const*,void const*) + 148 54 CFNetwork SocketStream::_SocketCallBack_stream(__CFSocket*,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
第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::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&,JSC::AllocationFailureMode) + 216 13 WebCore std::__1::enable_if<std::is_same<WebCore::GainNode,***::DumbPtrTraits<WebCore::GainNode> >&&) + 220 14 WebCore WebCore::toJS(JSC::ExecState*,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::ArgList const&) + 464 40 JavaScriptCore JSC::profiledCall(JSC::ExecState*,***::NakedPtr<JSC::Exception>&) + 180 41 WebCore WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&,WebCore::Event&) + 1176 42 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&,***::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,***::FastMalloc>&&) + 236 46 WebCore WebCore::WebSocketChannel::processFrame() + 2912 47 WebCore WebCore::WebSocketChannel::processBuffer() + 112 48 WebCore WebCore::WebSocketChannel::didReceiveSocketStreamData(WebCore::SocketStreamHandle&,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*,void const*) + 148 55 CFNetwork SocketStream::_SocketCallBack_stream(__CFSocket*,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
类型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::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::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::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::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::ArgList const&) + 464 50 JavaScriptCore JSC::profiledCall(JSC::ExecState*,***::NakedPtr<JSC::Exception>&) + 180 51 WebCore WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&,WebCore::Event&) + 1176 52 WebCore WebCore::EventTarget::fireEventListeners(WebCore::Event&,***::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,***::FastMalloc>&&) + 236 56 WebCore WebCore::WebSocketChannel::processFrame() + 2912 57 WebCore WebCore::WebSocketChannel::processBuffer() + 112 58 WebCore WebCore::WebSocketChannel::didReceiveSocketStreamData(WebCore::SocketStreamHandle&,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*,void const*) + 148 65 CFNetwork SocketStream::_SocketCallBack_stream(__CFSocket*,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
有谁能够帮我 ? 原文链接:https://www.f2er.com/iOS/333340.html