CFNetwork WebCore 崩溃

3
我收到了一些从应用商店发来的崩溃报告,但是我无法理解。看起来线程总是像这样崩溃:
0    libobjc.A.dylib    
objc_msgSend + 15
1    CFNetwork ✭    
HostBase::lock() + 14
2    CFNetwork  
DispatchHost::performInvocation(void const*) + 12
3    CFNetwork  
__setupTCPConnection_block_invoke_2 + 290
4
...
libsystem_network.dylib 
__tcp_connection_notify_complete_block_invoke_1 + 18
5    libdispatch.dylib  
_dispatch_call_block_and_release + 12
6    libdispatch.dylib  
_dispatch_worker_thread2 + 258
7    libsystem_c.dylib  
_pthread_wqthread + 294

我遇到了14个类似的崩溃问题,唯一共同点就是与另一个线程有关。

...
libsystem_kernel.dylib  
mach_msg_trap + 20
1    CoreFoundation 
__CFRunLoopServiceMachPort + 126
2    CoreFoundation 
__CFRunLoopRun + 882
3    CoreFoundation 
CFRunLoopRunSpecific + 300
4    CoreFoundation 
CFRunLoopRunInMode + 104
5    WebCore    
WebCore::runLoaderThread(void*) + 128
6    libsystem_c.dylib  
_pthread_start + 320

我在我的应用中使用UIWebViews(虽然不是非常频繁)。只有在使用webViews时才会调用IS WebCore吗?还是这可能与其他内容相关?

我无法在我的设备上复制。任何想法将不胜感激。

谢谢!


你不需要查看它们有什么共同点,而是要查看哪个线程崩溃了。重要的片段包括“Crashed Thread:”、“Exception Type:”以及整个崩溃线程的堆栈信息。你能否更新你的问题并提供这些信息呢?最好附上完整的崩溃报告。 - user207616
2个回答

0

由于您对UIWebViews的使用不是很广泛,因此可以考虑调查是否所有UIWebView操作都在主UI线程上进行。当您加载请求或在UIWebView上设置数据时,可能会处于后台线程。


如果我看到WebCore代码,我们确定它与UIWebViews有关吗? - LocoMike

0

我们的应用程序出现了相同的堆栈跟踪,并在开发者论坛上进行了讨论:https://devforums.apple.com/message/683938#683938

这导致了以下结论:

我在这里看不到任何有趣的东西,这让我回到了这样一个结论:这可能是您的应用程序中某种内存损坏问题或CFNetwork中的错误(两者都很可能)。

因此,我追踪并修复了应用程序中的一些内存泄漏,然后我将查看下一个应用程序发布是否仍会发生崩溃。


嗯...内存泄漏怎么会导致这个问题呢?也许是过度释放了,但是泄漏呢? - LocoMike
你是对的,我已经检查了所有使用 NSURLConnectionUIWebView 的对象的释放/保留情况。在释放后,我将这些对象设置为 nil,以确保我不会过度释放它们。 - ıɾuǝʞ

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