应用崩溃 - Webcore - iOS 5.1.1

3

应用程序在WebCore上崩溃。在我们的应用程序中,我们在UIWebView上加载HTML5页面。当用户在UIWebView上导航到不同的屏幕时,应用程序会弹出警报弹窗,当用户单击“确定”按钮后,它会崩溃。

PS 注意:这个警报是HTML5警报,不是本地警报。

Thread 2 name:  WebThread
Thread 2 Crashed:


0   JavaScriptCore                    0x3570ec26 WTF::fastMalloc(unsigned long) + 870

1   WebCore                           0x32cf731c WebCore::CSSSelectorList::adoptSelectorVector(WTF::Vector<WTF::OwnPtr<WebCore::CSSParserSelector>, 0ul>&) + 136

2   WebCore                           0x32ceee10 cssyyparse(void*) + 848

3   WebCore                           0x32de641a WebCore::CSSParser::parseSelector(WTF::String const&, WebCore::Document*, WebCore::CSSSelectorList&) + 74

4   WebCore                           0x32de636e WebCore::Node::querySelectorAll(WTF::String const&, int&) + 90

5   WebCore                           0x32de62a8 WebCore::jsElementPrototypeFunctionQuerySelectorAll(JSC::ExecState*) + 328

6   JavaScriptCore                    0x35721592 JSC::Interpreter::privateExecute(JSC::Interpreter::ExecutionFlag, JSC::RegisterFile*, JSC::ExecState*) + 35526

7   JavaScriptCore                    0x357a00e6 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 1042

8   JavaScriptCore                    0x3579fcca JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 46

9   WebCore                           0x32e28cfc WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 776

10  WebCore                           0x32e289c0 WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul>&) + 272

11  WebCore                           0x32d2f36c WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 136

12  WebCore                           0x32d358de WebCore::Node::handleLocalEvents(WebCore::Event*) + 54

13  WebCore                           0x32d3512e WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 542

14  WebCore                           0x32d34ee0 WebCore::EventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const + 24

15  WebCore                           0x32d34eb4 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WebCore::EventDispatchMediator const&) + 92

16  WebCore                           0x32d34e0c WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 28
17  WebCore                           0x32d87eb8 WebCore::Document::finishedParsing() + 96
18  WebCore                           0x32d87e50 WebCore::HTMLTreeBuilder::finished() + 16
19  WebCore                           0x32d78fbe WebCore::HTMLDocumentParser::prepareToStopParsing() + 106
20  WebCore                           0x32d78c9e WebCore::HTMLDocumentParser::finish() + 90
21  WebCore                           0x32d78c3a WebCore::Document::finishParsing() + 14
22  WebCore                           0x32d75e62 WebCore::DocumentWriter::endIfNotLoadingMainResource() + 74
23  WebCore                           0x32d744fa WebCore::DocumentLoader::finishedLoading() + 74
24  WebCore                           0x32dc19c8 WebCore::FrameLoader::finishedLoading() + 48
25  WebCore                           0x32dc1938 WebCore::MainResourceLoader::didFinishLoading(double) + 88
26  WebCore                           0x32dc18c2 _ZN7WebCoreL16didFinishLoadingEP16_CFURLConnectionPKv + 46
27  CFNetwork                         0x371097ee URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 186
28  CFNetwork                         0x370fe49e URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 418
29  CFNetwork                         0x370fe19c URLConnectionClient::processEvents() + 100
30  CFNetwork                         0x370fe0d2 MultiplexerSource::perform() + 150
31  CoreFoundation                    0x37445acc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 8
32  CoreFoundation                    0x37445298 __CFRunLoopDoSources0 + 208
33  CoreFoundation                    0x3744403e __CFRunLoopRun + 646
34  CoreFoundation                    0x373c749e CFRunLoopRunSpecific + 294
35  CoreFoundation                    0x373c7366 CFRunLoopRunInMode + 98
36  WebCore                           0x32d70c9c _ZL12RunWebThreadPv + 396
37  libsystem_c.dylib                 0x33ce672e _pthread_start + 314
38  libsystem_c.dylib                 0x33ce65e8 thread_start + 0

通过崩溃日志,很难确定确切的原因。请帮忙解决。

1个回答

3

我知道你要翻译的应用程序,所以我的回答有点作弊。

在其他对话中,我得出了以下结论:你遇到的问题是内存问题。应用程序的总内存已经超过了可用内存,导致应用程序崩溃。很可能是因为应用程序无法获取更多内存,所以你在内存分配函数中遇到了这个问题。

我们已经离线讨论过是什么原因引起了内存问题。


1
感谢bcholes:在解决了所有内存泄漏问题后,它现在可以正常工作了。 - JainAnk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接