崩溃:WebThread - EXC_BAD_ACCESS KERN_INVALID_ADDRESS

时间:2016-11-18 19:31:36

标签: ios uiwebview crash webkit wkwebview

自2016年11月8日起,我们看到WebThread的崩溃突然增加。我们不知道导致事故的原因。

我们在应用中有网络文章和广告。我们没有任何App Release。网络或广告没有重大变化。

由于在没有文章的屏幕上发生崩溃,我们认为这是在广告上发生的。

还有其他人看到这个吗?任何想法,想法,什么?

堆栈追踪:

Crashed: WebThread
0  WebCore                        0x184b7e47c WTF::HashMap<WTF::String, WebCore::ApplicationCacheGroup*, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WebCore::ApplicationCacheGroup*> >::remove(WTF::String const&) + 48
1  WebCore                        0x184b7abbc WebCore::ApplicationCacheStorage::cacheGroupDestroyed(WebCore::ApplicationCacheGroup*) + 52
2  WebCore                        0x184b7abbc WebCore::ApplicationCacheStorage::cacheGroupDestroyed(WebCore::ApplicationCacheGroup*) + 52
3  WebCore                        0x184b70628 WebCore::ApplicationCacheGroup::~ApplicationCacheGroup() + 56
4  WebCore                        0x184b70b10 WebCore::ApplicationCacheGroup::~ApplicationCacheGroup() + 12
5  WebCore                        0x184b72334 WebCore::ApplicationCacheGroup::disassociateDocumentLoader(WebCore::DocumentLoader*) + 184
6  WebCore                        0x184a024a0 WebCore::ApplicationCacheHost::~ApplicationCacheHost() + 48
7  WebCore                        0x184a01ad0 WebCore::DocumentLoader::~DocumentLoader() + 168
8  WebKitLegacy                   0x185976ba8 WebDocumentLoaderMac::~WebDocumentLoaderMac() + 84
9  WebCore                        0x184e30a78 WebCore::FrameLoader::detachFromParent() + 324
10 WebKitLegacy                   0x1859e0b08 __29-[WebView(WebPrivate) _close]_block_invoke + 348
11 WebCore                        0x1857842c4 HandleRunSource(void*) + 368
12 CoreFoundation                 0x180ab509c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
13 CoreFoundation                 0x180ab4ab0 __CFRunLoopDoSources0 + 412
14 CoreFoundation                 0x180ab2830 __CFRunLoopRun + 724
15 CoreFoundation                 0x1809dcc50 CFRunLoopRunSpecific + 384
16 WebCore                        0x1849ce108 RunWebThread(void*) + 456
17 libsystem_pthread.dylib        0x180763b28 _pthread_body + 156
18 libsystem_pthread.dylib        0x180763a8c _pthread_body + 154
19 libsystem_pthread.dylib        0x180761028 thread_start + 4

3 个答案:

答案 0 :(得分:2)

回答我自己的问题,添加更多详细信息而非评论区域 没有标记答案,因为我没有解决方案。

不幸的是,我们无法解决问题。幸运的是,崩溃率在2-3天后下降。

花了3天后,我们确定它与Google广告有关。然而,为什么崩溃率上升和下降对我们来说仍然是一个谜。

一些注释/结论:

  • 在请求/处理广告时,我们是否做了一些愚蠢的事情?
    • 可能,但是现有的稳定版本发生的可能性很小。
  • 这是针对特定广告的吗?
    • 崩溃率下降是因为我们不再提供该广告?
  • GoogleAds团队来救援并采取行动,没有任何事情发生?因为...... :)
  • 不是一个新问题 - Crashlytics在几个月之前就出现了这种类型的崩溃。

答案 1 :(得分:0)

两个想法分支两个探讨:

https://stackoverflow.com/a/32078697/3419541

  

可能是用户在尝试发送委托回调之前正在关闭Web视图,并且因为它不存在而崩溃。

https://stackoverflow.com/a/31673840/3419541

  

猜测资源的缓存有问题。

答案 2 :(得分:0)

简单地说,您遇到的崩溃是由于内存泄漏造成的。

变量或对象正在尝试访问受限制的内存,这将导致此崩溃。 我的猜测是您使用的广告框架/ API之一未处理2016年10月31日发布的iOS 10.1.1(Build 14B100)更新。这可能是您崩溃的原因

我也想到,这似乎是在某种关闭/退出功能的调用过程中发生的。如果是这样,确定您正在释放对象,变量以及已正确分配内存的任何其他内容。如果您的代码或程序以正确的方式发布所有内容,那么它就是导致您的问题的广告框架/ API。

干杯!