2016-08-02 46 views
9

Otrzymuję [_WebSafeForwarder forwardInvocation:] i raport o awariach w następujący sposób na crashlytics. Nie można odtworzyć tego samego warunku w moim kodzie. Dodałem webview.delegate = nil i [webview stopLoading] w każdej metodzie -(void)dealloc, w której zawsze znajduje się UIWebview, a mimo to następuje awaria.Nie można odtworzyć składnika WebKitLegacy - [_ WebSafeForwarder forwardInwokacja:] crash

#0. Crashed: com.apple.main-thread 
0 libobjc.A.dylib    0x24deba86 objc_msgSend + 5 
1 WebKitLegacy     0x29945e17 -[_WebSafeForwarder forwardInvocation:] + 190 
2 CoreFoundation     0x25624f4d ___forwarding___ + 352 
3 CoreFoundation     0x2554f298 _CF_forwarding_prep_0 + 24 
4 CoreFoundation     0x25626664 __invoking___ + 68 
5 CoreFoundation     0x2554b8bd -[NSInvocation invoke] + 292 
6 WebCore      0x28d6b84b HandleDelegateSource(void*) + 90 
7 CoreFoundation     0x255e39e7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
8 CoreFoundation     0x255e3569 __CFRunLoopDoSources0 + 344 
9 CoreFoundation     0x255e193f __CFRunLoopRun + 806 
10 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
11 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
12 UIFoundation     0x29bb5837 -[NSHTMLReader _loadUsingWebKit] + 2038 
13 Foundation      0x25e4e887 __NSThreadPerformPerform + 386 
14 CoreFoundation     0x255e39e7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
15 CoreFoundation     0x255e3569 __CFRunLoopDoSources0 + 344 
16 CoreFoundation     0x255e193f __CFRunLoopRun + 806 
17 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
18 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
19 GraphicsServices    0x26b4caf9 GSEventRunModal + 160 
20 UIKit       0x29c68435 UIApplicationMain + 144 
21 MyProjectName  0x1446e5 main (main.m:14) 
22 libdispatch.dylib    0x251dc873 (Missing) 

-- 

#0. Crashed: com.apple.main-thread 
0 libobjc.A.dylib    0x24deba86 objc_msgSend + 5 
1 WebKitLegacy     0x29945e17 -[_WebSafeForwarder forwardInvocation:] + 190 
2 CoreFoundation     0x25624f4d ___forwarding___ + 352 
3 CoreFoundation     0x2554f298 _CF_forwarding_prep_0 + 24 
4 CoreFoundation     0x25626664 __invoking___ + 68 
5 CoreFoundation     0x2554b8bd -[NSInvocation invoke] + 292 
6 WebCore      0x28d6b84b HandleDelegateSource(void*) + 90 
7 CoreFoundation     0x255e39e7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
8 CoreFoundation     0x255e3569 __CFRunLoopDoSources0 + 344 
9 CoreFoundation     0x255e193f __CFRunLoopRun + 806 
10 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
11 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
12 UIFoundation     0x29bb5837 -[NSHTMLReader _loadUsingWebKit] + 2038 
13 Foundation      0x25e4e887 __NSThreadPerformPerform + 386 
14 CoreFoundation     0x255e39e7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
15 CoreFoundation     0x255e3569 __CFRunLoopDoSources0 + 344 
16 CoreFoundation     0x255e193f __CFRunLoopRun + 806 
17 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
18 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
19 GraphicsServices    0x26b4caf9 GSEventRunModal + 160 
20 UIKit       0x29c68435 UIApplicationMain + 144 
21 MyProjectName  0x1446e5 main (main.m:14) 
22 libdispatch.dylib    0x251dc873 (Missing) 

#2. com.twitter.crashlytics.ios.MachExceptionServer 
0 MyProjectName  0x157cdd CLSProcessRecordAllThreads + 1015005 
1 MyProjectName  0x157cdd CLSProcessRecordAllThreads + 1015005 
2 MyProjectName  0x157ef5 CLSProcessRecordAllThreads + 1015541 
3 MyProjectName  0x14c52b CLSHandler + 967979 
4 MyProjectName  0x148249 CLSMachExceptionServer + 950857 
5 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
6 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
7 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#3. GAIThread 
0 libsystem_kernel.dylib   0x2529b8a8 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x2529b6a9 mach_msg + 40 
2 CoreFoundation     0x255e36ad __CFRunLoopServiceMachPort + 136 
3 CoreFoundation     0x255e1a33 __CFRunLoopRun + 1050 
4 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
5 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
6 Foundation      0x25d7d42d -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 268 
7 Foundation      0x25dcbd75 -[NSRunLoop(NSRunLoop) run] + 80 
8 MyProjectName  0x1d58c5 +[GAI threadMain:] + 1530053 
9 Foundation      0x25e4e64d __NSThread__start__ + 1144 
10 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
11 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
12 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#4. com.apple.NSURLConnectionLoader 
0 libsystem_kernel.dylib   0x2529b8a8 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x2529b6a9 mach_msg + 40 
2 CoreFoundation     0x255e36ad __CFRunLoopServiceMachPort + 136 
3 CoreFoundation     0x255e1a33 __CFRunLoopRun + 1050 
4 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
5 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
6 CFNetwork      0x25b85c47 +[NSURLConnection(Loader) _resourceLoadLoop:] + 486 
7 Foundation      0x25e4e64d __NSThread__start__ + 1144 
8 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
9 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
10 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#5. com.apple.CFSocket.private 
0 libsystem_kernel.dylib   0x252afeec __select + 20 
1 CoreFoundation     0x255e8b51 __CFSocketManager + 572 
2 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
3 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
4 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#6. AFNetworking 
0 libsystem_kernel.dylib   0x2529b8a8 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x2529b6a9 mach_msg + 40 
2 CoreFoundation     0x255e36ad __CFRunLoopServiceMachPort + 136 
3 CoreFoundation     0x255e1a33 __CFRunLoopRun + 1050 
4 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
5 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
6 Foundation      0x25d7d42d -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 268 
7 Foundation      0x25dcbd75 -[NSRunLoop(NSRunLoop) run] + 80 
8 MyProjectName  0x29d30f +[AFURLConnectionOperation networkRequestThreadEntryPoint:] (AFURLConnectionOperation.m:168) 
9 Foundation      0x25e4e64d __NSThread__start__ + 1144 
10 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
11 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
12 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#7. WebThread 
0 libsystem_kernel.dylib   0x252af998 __psynch_cvwait + 24 
1 libsystem_pthread.dylib  0x253541a5 _pthread_cond_wait + 536 
2 libsystem_pthread.dylib  0x253550f9 pthread_cond_timedwait + 44 
3 WebCore      0x28d57f57 SendDelegateMessage(NSInvocation*) + 678 
4 WebKitLegacy     0x29978265 CallFrameLoadDelegate(void (*)(), WebView*, objc_selector*, objc_object*) + 172 
5 WebKitLegacy     0x29947877 WebFrameLoaderClient::dispatchDidFinishLoad() + 158 
6 WebCore      0x28d290af WebCore::FrameLoader::checkLoadCompleteForThisFrame() + 382 
7 WebCore      0x28d28e75 WebCore::FrameLoader::checkLoadComplete() + 280 
8 WebCore      0x28d55bf1 WebCore::FrameLoader::checkCompleted() + 316 
9 WebCore      0x28d5504b WebCore::FrameLoader::finishedParsing() + 102 
10 WebCore      0x28d54f59 WebCore::Document::finishedParsing() + 312 
11 WebCore      0x28d5270b WebCore::HTMLDocumentParser::prepareToStopParsing() + 118 
12 WebCore      0x28dddbcb WebCore::HTMLDocumentParser::resumeParsingAfterYield() + 102 
13 WebCore      0x28cff4a1 WebCore::ThreadTimers::sharedTimerFiredInternal() + 136 
14 WebCore      0x28cff3f5 WebCore::timerFired(__CFRunLoopTimer*, void*) + 28 
15 CoreFoundation     0x255e4177 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14 
16 CoreFoundation     0x255e3da9 __CFRunLoopDoTimer + 936 
17 CoreFoundation     0x255e1bf5 __CFRunLoopRun + 1500 
18 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
19 CoreFoundation     0x2552ffbd CFRunLoopRunInMode + 108 
20 WebCore      0x28d457b7 RunWebThread(void*) + 422 
21 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
22 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
23 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#8. JavaScriptCore::Marking 
0 libsystem_kernel.dylib   0x252af998 __psynch_cvwait + 24 
1 libsystem_pthread.dylib  0x253541a5 _pthread_cond_wait + 536 
2 libsystem_pthread.dylib  0x253550b9 pthread_cond_wait + 40 
3 libc++.1.dylib     0x24d7469d std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 36 
4 JavaScriptCore     0x2891a781 JSC::GCThread::waitForNextPhase() + 104 
5 JavaScriptCore     0x2891a7ef JSC::GCThread::gcThreadMain() + 62 
6 JavaScriptCore     0x287269e1 WTF::threadEntryPoint(void*) + 148 
7 JavaScriptCore     0x2872693f WTF::wtfThreadEntryPoint(void*) + 14 
8 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
9 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
10 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#9. NSOperationQueue 0x15e6cc20 :: NSOperation 0x15d230e0 (QOS: USER_INTERACTIVE) 
0 libsystem_kernel.dylib   0x2529b8f8 semaphore_wait_trap + 8 
1 libsystem_platform.dylib  0x2534f289 _os_semaphore_wait + 12 
2 libdispatch.dylib    0x251bcc6d _dispatch_barrier_sync_f_slow + 372 
3 MyProjectName  0x27dd8f __69-[SDWebImageManager downloadImageWithURL:options:progress:completed:]_block_invoke98 (SDWebImageManager.m:189) 
4 MyProjectName  0x275e71 __72-[SDWebImageDownloader downloadImageWithURL:options:progress:completed:]_block_invoke93 (SDWebImageDownloader.m:163) 
5 MyProjectName  0x27a8fb -[SDWebImageDownloaderOperation connection:didFailWithError:] (SDWebImageDownloaderOperation.m:419) 
6 CFNetwork      0x25c683a1 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 56 
7 CFNetwork      0x25c68359 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 184 
8 CFNetwork      0x25c6847d -[NSURLConnectionInternal _withConnectionAndDelegate:] + 36 
9 CFNetwork      0x25c44125 _NSURLConnectionDidFail(_CFURLConnection*, __CFError*, void const*) + 84 
10 CFNetwork      0x25be3203 ___ZN27URLConnectionClient_Classic17_delegate_didFailEP9__CFErrorU13block_pointerFvvE_block_invoke + 86 
11 CFNetwork      0x25be1a83 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 70 
12 libdispatch.dylib    0x251b3cab _dispatch_client_callout + 22 
13 libdispatch.dylib    0x251bb543 _dispatch_block_invoke + 450 
14 CFNetwork      0x25b13e83 RunloopBlockContext::_invoke_block(void const*, void*) + 18 
15 CoreFoundation     0x2552fc09 CFArrayApplyFunction + 36 
16 CFNetwork      0x25b13d6b RunloopBlockContext::perform() + 182 
17 CFNetwork      0x25b13c35 MultiplexerSource::perform() + 216 
18 CFNetwork      0x25b13ac9 MultiplexerSource::_perform(void*) + 48 
19 CoreFoundation     0x255e39e7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
20 CoreFoundation     0x255e35d7 __CFRunLoopDoSources0 + 454 
21 CoreFoundation     0x255e193f __CFRunLoopRun + 806 
22 CoreFoundation     0x255301c9 CFRunLoopRunSpecific + 516 
23 CoreFoundation     0x25570f23 CFRunLoopRun + 98 
24 MyProjectName  0x27779b -[SDWebImageDownloaderOperation start] (SDWebImageDownloaderOperation.m:117) 
25 Foundation      0x25e38b0d __NSOQSchedule_f + 192 
26 libdispatch.dylib    0x251bde7f _dispatch_queue_drain + 1762 
27 libdispatch.dylib    0x251b6e17 _dispatch_queue_invoke + 282 
28 libdispatch.dylib    0x251bf20d _dispatch_root_queue_drain + 400 
29 libdispatch.dylib    0x251bf07b _dispatch_worker_thread3 + 94 
30 libsystem_pthread.dylib  0x25352e0d _pthread_wqthread + 1024 
31 libsystem_pthread.dylib  0x253529fc start_wqthread + 8 

#10. com.apple.root.default-qos 
0 libsystem_kernel.dylib   0x252af998 __psynch_cvwait + 24 
1 libsystem_pthread.dylib  0x253541a5 _pthread_cond_wait + 536 
2 libsystem_pthread.dylib  0x253550b9 pthread_cond_wait + 40 
3 Foundation      0x25dc840f -[NSCondition wait] + 194 
4 Foundation      0x25d8f40b -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 850 
5 Foundation      0x25d92be1 -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] + 136 
6 UIFoundation     0x29bb611f -[NSHTMLReader _load] + 386 
7 UIFoundation     0x29bb6b21 -[NSHTMLReader attributedString] + 24 
8 UIFoundation     0x29b5ac35 _NSReadAttributedStringFromURLOrData + 5304 
9 UIFoundation     0x29b596f5 -[NSAttributedString(NSAttributedStringUIFoundationAdditions) initWithData:options:documentAttributes:error:] + 116 
10 MyProjectName  0x19cecf -[MyStaticLibrary handleHTMLCharactersForTitle:] (MyStaticLibrary.m:3132) 
11 MyProjectName  0x1a8905 __47-[MyNetworkRequest onHTTPSuccessWithResponse:]_block_invoke143 (MyNetworkRequest.m:484) 
12 libdispatch.dylib    0x251b3cbf _dispatch_call_block_and_release + 10 
13 libdispatch.dylib    0x251bf6a1 _dispatch_root_queue_drain + 1572 
14 libdispatch.dylib    0x251bf07b _dispatch_worker_thread3 + 94 
15 libsystem_pthread.dylib  0x25352e0d _pthread_wqthread + 1024 
16 libsystem_pthread.dylib  0x253529fc start_wqthread + 8 

#11. Thread 
0 libsystem_kernel.dylib   0x252afffc __semwait_signal + 24 
1 libsystem_c.dylib    0x25203bcd nanosleep + 172 
2 libc++.1.dylib     0x24db38f5 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1ll, 1000000000ll> > const&) + 136 
3 JavaScriptCore     0x28ad9b01 bmalloc::Heap::scavenge(std::__1::unique_lock<bmalloc::StaticMutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1ll, 1000ll> >) + 256 
4 JavaScriptCore     0x28ad98eb bmalloc::Heap::concurrentScavenge() + 78 
5 JavaScriptCore     0x28adb7b7 bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::entryPoint() + 98 
6 JavaScriptCore     0x28adb751 bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::pthreadEntryPoint(void*) + 8 
7 libsystem_pthread.dylib  0x25354c7f _pthread_body + 138 
8 libsystem_pthread.dylib  0x25354bf3 _pthread_start + 110 
9 libsystem_pthread.dylib  0x25352a08 thread_start + 8 

#12. Thread 
0 libsystem_pthread.dylib  0x253529f4 start_wqthread + 14 

#13. Thread 
0 libsystem_kernel.dylib   0x252b0864 __workq_kernreturn + 8 
1 libsystem_pthread.dylib  0x25352e19 _pthread_wqthread + 1036 
2 libsystem_pthread.dylib  0x253529fc start_wqthread + 8 

#14. Thread 
0 libsystem_kernel.dylib   0x252b0864 __workq_kernreturn + 8 
1 libsystem_pthread.dylib  0x25352e19 _pthread_wqthread + 1036 
2 libsystem_pthread.dylib  0x253529fc start_wqthread + 8 

#15. PLClientLoggingFlushQueue 
0 libsystem_platform.dylib  0x2534e96a _platform_memmove + 105 
1 CoreFoundation     0x2553f0c7 CFStringGetBytes + 634 
2 CoreFoundation     0x2553f0c7 CFStringGetBytes + 634 
3 CoreFoundation     0x25677ab9 __writeObject15 + 324 
4 CoreFoundation     0x2567841d __writeObject15 + 2728 
5 CoreFoundation     0x2567841d __writeObject15 + 2728 
6 CoreFoundation     0x2567841d __writeObject15 + 2728 
7 CoreFoundation     0x2567841d __writeObject15 + 2728 
8 CoreFoundation     0x2567841d __writeObject15 + 2728 
9 CoreFoundation     0x256777ad __CFBinaryPlistWrite15 + 152 
10 CoreFoundation     0x255729cf _CFXPCCreateXPCMessageWithCFObject + 118 
11 PowerLog      0x2707ab4f -[PLClientLogger xpcSendMessage:withClientID:withKey:withPayload:] + 86 
12 PowerLog      0x2707bd85 -[PLClientLogger batchTasksCacheFlush] + 500 
13 libdispatch.dylib    0x251b3cbf _dispatch_call_block_and_release + 10 
14 libdispatch.dylib    0x251bd3cf _dispatch_after_timer_callback + 66 
15 libdispatch.dylib    0x251c65bb _dispatch_source_latch_and_call + 2042 
16 libdispatch.dylib    0x251b5bff _dispatch_source_invoke + 738 
17 libdispatch.dylib    0x251bd9ed _dispatch_queue_drain + 592 
18 libdispatch.dylib    0x251b6e17 _dispatch_queue_invoke + 282 
19 libdispatch.dylib    0x251bf20d _dispatch_root_queue_drain + 400 
20 libdispatch.dylib    0x251bf07b _dispatch_worker_thread3 + 94 
21 libsystem_pthread.dylib  0x25352e0d _pthread_wqthread + 1024 
22 libsystem_pthread.dylib  0x253529fc start_wqthread + 8 
+1

Próbuję wyśledzić podobną awarię, a moja jest faktycznie wywoływana przez użycie 'NSAttributedString initWithData', który używa webkita pod maską. Nie jest to odpowiedź, ale coś, co z nadzieją pozwoli ci dalej kopać ... –

+1

@MickByrne Użyłem 'NSAttributedString initWithData', aby przekonwertować ciąg html na zwykły ciąg znaków. Również jest używany wiele razy w bloku wewnątrz również. Myślę też, że to może być problem. –

+0

Mam ten sam problem, próbując przekonwertować ciąg html na NSAttributedString również. Domyślam się, że coś gdzieś się zwalnia (zawsze ma coś wspólnego z ** objc_msgSend **). – facumenzella

Odpowiedz

1

Mam ten sam problem, użyłem [NSAttributedString alloc] initWithData załadować ciąg HTML na etykiecie. Moje awarie często miały miejsce, gdy aplikacja przełączała się między trybem tła i trybem pierwszoplanowym. Mam kilka wskazówek z dokumentacji Apple, myślę, że to może być przydatne.

Poniżej przedstawiono omówienie Apple's NSAttributedstring doc:

Importer HTML nie powinna być wywoływana z wątku tła (czyli słownika opcje obejmuje NSDocumentTypeDocumentAttribute o wartości NSHTMLTextDocumentType). Spróbuje się zsynchronizować z głównym wątkiem, awaria i limit czasu. Wywołanie go z głównego wątku działa (ale nadal może upłynąć limit czasu, jeśli HTML zawiera odwołania do zasobów zewnętrznych, których należy unikać za wszelką cenę). Mechanizm importowania HTML służy do implementacji czegoś takiego jak przecena (czyli style tekstowe, kolory itd.), A nie do ogólnego importu HTML.

+1

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ opinia/niskiej jakości-posts/18968267) – technerd