WKWebView崩溃时出现KERN_INVALID_ADDRESS错误

时间:2015-10-26 20:25:25

标签: javascript swift cocoa wkwebview

我正在使用WKWebView构建Mac应用。使用webview.evaluateJavaScript Swift辅助函数和webkit.messageHandlers[funName].postMessage JavaScript端函数,JavaScript和Swift代码之间存在很多共同点。

在某些时候,经过几个小时的使用后,应用程序崩溃了以下堆栈跟踪:

    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
    0   com.apple.JavaScriptCore        0x00007fff926d95fe WTFCrash + 62
    1   com.apple.JavaScriptCore        0x00007fff9250dff6 JSC::MachineThreads::makeUsableFromMultipleThreads() + 38
    2   com.apple.JavaScriptCore        0x00007fff9250e079 JSGlobalContextCreateInGroup + 89
    3   com.apple.JavaScriptCore        0x00007fff928906ba -[JSContext initWithVirtualMachine:] + 122
    4   com.apple.WebKit                0x00007fff8d62699f ScriptMessageHandlerDelegate::didPostMessage(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, WebCore::SerializedScriptValue&) + 135
    5   com.apple.WebKit                0x00007fff8d6838d3 WebKit::WebUserContentControllerProxy::didPostMessage(IPC::Connection*, unsigned long long, unsigned long long, unsigned long long,         IPC::DataReference const&) + 217
    6   com.apple.WebKit                0x00007fff8d60e514 void IPC::handleMessage<Messages::WebUserContentControllerProxy::DidPostMessage, WebKit::WebUserContentControllerProxy, void (        WebKit::WebUserContentControllerProxy::*)(IPC::Connection*, unsigned long long, unsigned long long, unsigned long long, IPC::DataReference const&)>(IPC::Connection*, IPC::MessageDecoder&,         WebKit::WebUserContentControllerProxy*, void (WebKit::WebUserContentControllerProxy::*)(IPC::Connection*, unsigned long long, unsigned long long, unsigned long long, IPC::DataReference const&)) + 134
    7   com.apple.WebKit                0x00007fff8d58f2d2 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection*, IPC::MessageDecoder&) + 120
    8   com.apple.WebKit                0x00007fff8d6995d8 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) + 24
    9   com.apple.WebKit                0x00007fff8d542ee0 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) + 94

我无法在互联网上找到有关WTFCrash错误的任何内容。有没有人遇到过同样的问题?

所有回调都在主线程中使用dispatch_async(dispatch_get_main_queue(), {...})块执行。

感谢您的帮助!

0 个答案:

没有答案