2012-10-01 4 views
1

내 응용 프로그램에 UIWebView가 많이 충돌합니다. 충돌은 종종 약간 다르지만 비슷한 스택 추적이있는 "WebThread"의 충돌은 항상 있습니다.uiwebview webthread crashing

나는 this 질문을 찾았지만 제 생각에는 생각이 안납니다. iOS 6이 있고 Office 문서를로드하지 않습니다. 웹 서버를 사용하여 서버에 메시지를 보내고 서버에서 메시지를 수신하기 위해 ajax 명령을 사용하고 있습니다.

연결을 시작할 때 항상 충돌이 발생합니다.

Date/Time:  2012-10-01 14:18:07.184 -0300 
OS Version:  iOS 6.0 (10A403) 
Report Version: 104 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x00000054 
Crashed Thread: 4 

Thread 4 name: WebThread 
Thread 4 Crashed: 
0 WebCore       0x35f1b9a0 WebCore::RootInlineBox::ascentAndDescentForBox(WebCore::InlineBox*, WTF::HashMap<WebCore::InlineTextBox const*, std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow>, WTF::PtrHash<WebCore::InlineTextBox const*>, WTF::HashTraits<WebCore::InlineTextBox const*>, WTF::HashTraits<std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow> > >&, int&, int&, bool&, bool&) const + 1344 
1 WebCore       0x35f1b1a4 WebCore::InlineFlowBox::computeLogicalBoxHeights(WebCore::RootInlineBox*, int&, int&, int&, int&, bool&, bool&, bool, WTF::HashMap<WebCore::InlineTextBox const*, std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow>, WTF::PtrHash<WebCore::InlineTextBox const*>, WTF::HashTraits<WebCore::InlineTextBox const*>, WTF::HashTraits<std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow> > >&, WebCore::FontBaseline, WebCore::VerticalPositionCache&) + 80 
2 WebCore       0x35f1ade4 WebCore::RootInlineBox::alignBoxesInBlockDirection(int, WTF::HashMap<WebCore::InlineTextBox const*, std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow>, WTF::PtrHash<WebCore::InlineTextBox const*>, WTF::HashTraits<WebCore::InlineTextBox const*>, WTF::HashTraits<std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow> > >&, WebCore::VerticalPositionCache&) + 124 
3 WebCore       0x35f1acc2 WebCore::RenderBlock::computeBlockDirectionPositionsForLine(WebCore::RootInlineBox*, WebCore::BidiRun*, WTF::HashMap<WebCore::InlineTextBox const*, std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow>, WTF::PtrHash<WebCore::InlineTextBox const*>, WTF::HashTraits<WebCore::InlineTextBox const*>, WTF::HashTraits<std::__1::pair<WTF::Vector<WebCore::SimpleFontData const*, 0ul>, WebCore::GlyphOverflow> > >&, WebCore::VerticalPositionCache&) + 54 
4 WebCore       0x35f18846 WebCore::RenderBlock::createLineBoxesFromBidiRuns(WebCore::BidiRunList<WebCore::BidiRun>&, WebCore::InlineIterator const&, WebCore::LineInfo&, WebCore::VerticalPositionCache&, WebCore::BidiRun*) + 162 
5 WebCore       0x35f0e30c WebCore::RenderBlock::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&, WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>&, WebCore::InlineIterator const&, WebCore::BidiStatus const&, unsigned int) + 2048 
6 WebCore       0x35f0cf00 WebCore::RenderBlock::layoutRunsAndFloats(WebCore::LineLayoutState&, bool) + 724 
7 WebCore       0x35e4b562 WebCore::RenderBlock::layoutInlineChildren(bool, int&, int&) + 986 
8 WebCore       0x35e46390 WebCore::RenderBlock::layoutBlock(bool, int) + 1132 
9 WebCore       0x35e45c22 WebCore::RenderBlock::layout() + 38 
10 WebCore       0x35e48cbc WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&, int&, int&) + 556 
11 WebCore       0x35e47f2c WebCore::RenderBlock::layoutBlockChildren(bool, int&) + 528 
12 WebCore       0x35e463a0 WebCore::RenderBlock::layoutBlock(bool, int) + 1148 
13 WebCore       0x35e45c22 WebCore::RenderBlock::layout() + 38 
14 WebCore       0x35e48cbc WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&, int&, int&) + 556 
15 WebCore       0x35e47f2c WebCore::RenderBlock::layoutBlockChildren(bool, int&) + 528 
16 WebCore       0x35e463a0 WebCore::RenderBlock::layoutBlock(bool, int) + 1148 
17 WebCore       0x35e45c22 WebCore::RenderBlock::layout() + 38 
18 WebCore       0x35e45aae WebCore::RenderView::layout() + 478 
19 WebCore       0x35e404b2 WebCore::FrameView::layout(bool) + 1554 
20 WebCore       0x35e782c6 WebCore::ThreadTimers::sharedTimerFiredInternal() + 134 
21 WebCore       0x35e7820a WebCore::timerFired(__CFRunLoopTimer*, void*) + 62 
22 CoreFoundation     0x39a615dc __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12 
23 CoreFoundation     0x39a6128c __CFRunLoopDoTimer + 268 
24 CoreFoundation     0x39a5fefc __CFRunLoopRun + 1228 
25 CoreFoundation     0x399d2eb8 CFRunLoopRunSpecific + 352 
26 CoreFoundation     0x399d2d44 CFRunLoopRunInMode + 100 
27 WebCore       0x35de4a70 RunWebThread(void*) + 440 
28 libsystem_c.dylib    0x33e4730e _pthread_start + 306 
29 libsystem_c.dylib    0x33e471d4 thread_start + 4 

...

OS Version:  iOS 6.0 (10A403) 
Report Version: 104 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x000000a4 
Crashed Thread: 2 

Thread 2 name: WebThread 
Thread 2 Crashed: 
0 WebCore       0x35ae72f6 WebCore::requiresLineBox(WebCore::InlineIterator const&, WebCore::LineInfo const&, WebCore::WhitespacePosition) + 30 
1 WebCore       0x35ae7286 WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace(WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>&, WebCore::LineInfo&, WebCore::RenderBlock::FloatingObject*, WebCore::LineWidth&) + 162 
2 WebCore       0x35ae476e WebCore::RenderBlock::LineBreaker::nextLineBreak(WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>&, WebCore::LineInfo&, std::__1::pair<WebCore::RenderText*, WebCore::LazyLineBreakIterator>&, WebCore::RenderBlock::FloatingObject*, unsigned int) + 158 
3 WebCore       0x35ae45de WebCore::RenderBlock::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&, WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>&, WebCore::InlineIterator const&, WebCore::BidiStatus const&, unsigned int) + 2770 
4 WebCore       0x35ae2f00 WebCore::RenderBlock::layoutRunsAndFloats(WebCore::LineLayoutState&, bool) + 724 
5 WebCore       0x35a21562 WebCore::RenderBlock::layoutInlineChildren(bool, int&, int&) + 986 
6 WebCore       0x35a1c390 WebCore::RenderBlock::layoutBlock(bool, int) + 1132 
7 WebCore       0x35a1bc22 WebCore::RenderBlock::layout() + 38 
8 WebCore       0x35a1ecbc WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&, int&, int&) + 556 
9 WebCore       0x35a1df2c WebCore::RenderBlock::layoutBlockChildren(bool, int&) + 528 
10 WebCore       0x35a1c3a0 WebCore::RenderBlock::layoutBlock(bool, int) + 1148 
11 WebCore       0x35a1bc22 WebCore::RenderBlock::layout() + 38 
12 WebCore       0x35a1ecbc WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&, int&, int&) + 556 
13 WebCore       0x35a1df2c WebCore::RenderBlock::layoutBlockChildren(bool, int&) + 528 
14 WebCore       0x35a1c3a0 WebCore::RenderBlock::layoutBlock(bool, int) + 1148 
15 WebCore       0x35a1bc22 WebCore::RenderBlock::layout() + 38 
16 WebCore       0x35a1baae WebCore::RenderView::layout() + 478 
17 WebCore       0x35a164b2 WebCore::FrameView::layout(bool) + 1554 
18 WebCore       0x35a4e2c6 WebCore::ThreadTimers::sharedTimerFiredInternal() + 134 
19 WebCore       0x35a4e20a WebCore::timerFired(__CFRunLoopTimer*, void*) + 62 
20 CoreFoundation     0x396375dc __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12 
21 CoreFoundation     0x3963728c __CFRunLoopDoTimer + 268 
22 CoreFoundation     0x39635efc __CFRunLoopRun + 1228 
23 CoreFoundation     0x395a8eb8 CFRunLoopRunSpecific + 352 
24 CoreFoundation     0x395a8d44 CFRunLoopRunInMode + 100 
25 WebCore       0x359baa70 RunWebThread(void*) + 440 
26 libsystem_c.dylib    0x33a1d30e _pthread_start + 306 
27 libsystem_c.dylib    0x33a1d1d4 thread_start + 4 

답변

3

내가 버그를 고정 내가 this 같은 코코아에 자바 스크립트 로그를 전송하고,이를 제거하여 이러한 충돌을 해결했습니다.

사실, 그 6 원인은

+0

당신이 명확히 수) =이 MAC OX 사파리를 사용하여 자바 스크립트를 디버깅하는 것이 가능 이제 iOS에서 더 이상 필요하지입니까? 당신은 자바 스크립트 로그를 보내고 있다고 말하면서 크래시가 수정되었습니다 ... 단순히 웹 페이지에서 console.log() 메시지를 제거하면 iOS 앱에서 충돌이 없어지는 것을 의미합니까? –

+0

예, 오래 전 이었지만 기억하기 때문에 방금 console.log를 제거하고 문제가 해결되었습니다. –

+0

설명해 주셔서 감사합니다 - 이상한 해결책! –