2012-07-25 2 views
3

응용 프로그램이 webcore에서 충돌합니다. 우리 응용 프로그램에서 UIWebview에 HTML5 페이지를로드하고 있습니다. 사용자가 UIWebView의 다른 화면으로 이동하면 응용 프로그램은 경고 팝업을 표시하고 사용자가 [확인] 버튼을 클릭하면 충돌합니다.응용 프로그램 충돌 - Webcore - iOS 5.1.1

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 

크래시 로그를 사용하면 정확한 원인을 파악하기가 점점 어려워지고 있습니다. 제발 도와주세요 ..

답변

3

나는 당신이 쓰고있는 응용 프로그램을 알고 있으므로, 여기 내 대답은 약간의 속임수입니다.

내가 다른 대화에서 궁극적으로 결론을 내린 것은 여기에 있습니다. 여러분이 겪고있는 것은 기억 상 문제입니다. 응용 프로그램의 전체 메모리가 사용 가능한 메모리를 초과하여 이로 인해 응용 프로그램이 충돌합니다. 아마도 메모리 할당 기능에서이 문제가 발생하는 것 같습니다. 아마도 앱이 더 많은 메모리를 확보 할 수 없기 때문일 것입니다.

우리는 메모리 문제의 원인에 대해 오프라인에서 이야기했습니다.

+1

감사합니다 bcholes : 그것은 모든 메모리 누출을 해결 한 후에 작동합니다. – JainAnk