当前位置: 首页 > 知识库问答 >
问题:

WebThread中的iOS uiwebview崩溃

蒋高超
2023-03-14

我正在寻找一些建议或帮助诊断我所看到的这种崩溃。目前,我认为这可能是一个webkit错误,但一切皆有可能,所以请提供您可能有的任何见解:

Incident Identifier: AEB8EE37-E5D4-4975-97F4-2B2038AC225A
CrashReporter Key:   92349a05395ea832c40c49c9e48997c1d65a2371
Hardware Model:      iPad3,3
Process:             Touch [242]
Path:                /var/mobile/Applications/4D2CAEEE-D0F8-4BB4-989A-F8623C877C78/Touch.app/Touch
Identifier:          StayinFrontTouch
Version:             3.2.40 (3.2.40)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2014-04-30 15:26:46.137 +1200
OS Version:          iOS 7.1.1 (11D201)
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x00000258
Triggered by Thread:  2

Thread 0:
0   libsystem_kernel.dylib          0x3a2ffa58 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a2ff854 mach_msg + 44
2   CoreFoundation                  0x2f06e896 __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x2f06d002 __CFRunLoopRun + 850
4   CoreFoundation                  0x2efd7f0a CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x2efd7cee CFRunLoopRunInMode + 102
6   GraphicsServices                0x33f0a65e GSEventRunModal + 134
7   UIKit                           0x31923168 UIApplicationMain + 1132
8   Touch                           0x000c064a 0xbd000 + 13898
9   Touch                           0x000bf854 0xbd000 + 10324

Thread 1:
0   libsystem_kernel.dylib          0x3a2ff808 kevent64 + 24
1   libdispatch.dylib               0x3a241078 _dispatch_mgr_invoke + 228
2   libdispatch.dylib               0x3a240dfe _dispatch_mgr_thread$VARIANT$mp + 34

Thread 2 name:  WebThread
Thread 2 Crashed:
0   WebCore                         0x37584302 WebCore::SubresourceLoader::didReceiveResponse(WebCore::ResourceResponse const&) + 26
1   WebCore                         0x377f751c WebCore::DocumentLoader::substituteResourceDeliveryTimerFired(WebCore::Timer*) + 212
2   WebCore                         0x374ad3f4 WebCore::ThreadTimers::sharedTimerFiredInternal() + 132
3   WebCore                         0x374ad346 WebCore::timerFired(__CFRunLoopTimer*, void*) + 22
4   CoreFoundation                  0x2f06f1b4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12
5   CoreFoundation                  0x2f06edca __CFRunLoopDoTimer + 778
6   CoreFoundation                  0x2f06d166 __CFRunLoopRun + 1206
7   CoreFoundation                  0x2efd7f0a CFRunLoopRunSpecific + 518
8   CoreFoundation                  0x2efd7cee CFRunLoopRunInMode + 102
9   WebCore                         0x3753a116 RunWebThread(void*) + 414
10  libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
11  libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
12  libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 3 name:  com.apple.NSURLConnectionLoader
Thread 3:
0   libsystem_kernel.dylib          0x3a2ffa58 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a2ff854 mach_msg + 44
2   CoreFoundation                  0x2f06e896 __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x2f06cfbc __CFRunLoopRun + 780
4   CoreFoundation                  0x2efd7f0a CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x2efd7cee CFRunLoopRunInMode + 102
6   Foundation                      0x2fa17082 +[NSURLConnection(Loader) _resourceLoadLoop:] + 314
7   Foundation                      0x2fa8ca5a __NSThread__main__ + 1058
8   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
9   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
10  libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 4:
0   libsystem_kernel.dylib          0x3a2ffa58 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a2ff854 mach_msg + 44
2   CoreFoundation                  0x2f06e896 __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x2f06cfbc __CFRunLoopRun + 780
4   CoreFoundation                  0x2efd7f0a CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x2efd7cee CFRunLoopRunInMode + 102
6   libAVFAudio.dylib               0x2e04f44c GenericRunLoopThread::Entry(void*) + 124
7   libAVFAudio.dylib               0x2e0437bc CAPThread::Entry(CAPThread*) + 176
8   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
9   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
10  libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 5 name:  JavaScriptCore::BlockFree
Thread 5:
0   libsystem_kernel.dylib          0x3a311f2c __psynch_cvwait + 24
1   libsystem_pthread.dylib         0x3a37af22 _pthread_cond_wait + 518
2   libsystem_pthread.dylib         0x3a37bd60 pthread_cond_wait + 36
3   JavaScriptCore                  0x30004ee4 JSC::BlockAllocator::blockFreeingThreadMain() + 204
4   JavaScriptCore                  0x30002538 WTF::wtfThreadEntryPoint(void*) + 12
5   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
6   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
7   libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 6 name:  JavaScriptCore::Marking
Thread 6:
0   libsystem_kernel.dylib          0x3a311f2c __psynch_cvwait + 24
1   libsystem_pthread.dylib         0x3a37af22 _pthread_cond_wait + 518
2   libsystem_pthread.dylib         0x3a37bd60 pthread_cond_wait + 36
3   JavaScriptCore                  0x301a0406 JSC::GCThread::waitForNextPhase() + 74
4   JavaScriptCore                  0x301a0460 JSC::GCThread::gcThreadMain() + 48
5   JavaScriptCore                  0x30002538 WTF::wtfThreadEntryPoint(void*) + 12
6   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
7   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
8   libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 7 name:  WebCore: CFNetwork Loader
Thread 7:
0   libsystem_kernel.dylib          0x3a2ffa58 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a2ff854 mach_msg + 44
2   CoreFoundation                  0x2f06e896 __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x2f06cfbc __CFRunLoopRun + 780
4   CoreFoundation                  0x2efd7f0a CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x2efd7cee CFRunLoopRunInMode + 102
6   WebCore                         0x37582b12 WebCore::runLoaderThread(void*) + 250
7   JavaScriptCore                  0x30002538 WTF::wtfThreadEntryPoint(void*) + 12
8   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
9   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
10  libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 8 name:  com.apple.CFSocket.private
Thread 8:
0   libsystem_kernel.dylib          0x3a312434 __select + 20
1   CoreFoundation                  0x2f072758 __CFSocketManager + 480
2   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
3   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
4   libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 9 name:  WebCore: LocalStorage
Thread 9:
0   libsystem_kernel.dylib          0x3a311f2c __psynch_cvwait + 24
1   libsystem_pthread.dylib         0x3a37af22 _pthread_cond_wait + 518
2   libsystem_pthread.dylib         0x3a37bd60 pthread_cond_wait + 36
3   JavaScriptCore                  0x30005012 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 58
4   WebCore                         0x3766cf2c WTF::PassOwnPtr > WTF::MessageQueue >::waitForMessageFilteredWithTimeout*)>(WTF::MessageQueueWaitResult&, bool (&)(WTF::Function*), double) + 104
5   WebCore                         0x3766ceb2 WebCore::StorageThread::threadEntryPoint() + 162
6   JavaScriptCore                  0x30002538 WTF::wtfThreadEntryPoint(void*) + 12
7   libsystem_pthread.dylib         0x3a37b916 _pthread_body + 138
8   libsystem_pthread.dylib         0x3a37b886 _pthread_start + 98
9   libsystem_pthread.dylib         0x3a379aa0 thread_start + 4

Thread 10:
0   libsystem_kernel.dylib          0x3a312c70 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3a379bda _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3a379a94 start_wqthread + 4

Thread 11:
0   libsystem_kernel.dylib          0x3a312c70 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3a379bda _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3a379a94 start_wqthread + 4

Thread 12:
0   libsystem_kernel.dylib          0x3a312c70 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3a379bda _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3a379a94 start_wqthread + 4

Thread 13:
0   libsystem_kernel.dylib          0x3a312c70 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3a379bda _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3a379a94 start_wqthread + 4

Thread 14:
0   libsystem_kernel.dylib          0x3a312c70 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3a379bda _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3a379a94 start_wqthread + 4

Thread 15:
0   libsystem_kernel.dylib          0x3a312c70 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3a379bda _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3a379a94 start_wqthread + 4

Thread 2 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x04ee0238      r2: 0x375842e9      r3: 0x019cb6b8
    r4: 0x0a916c00    r5: 0x04ee0238      r6: 0x0a916c00      r7: 0x01bbf028
    r8: 0x0549ea00    r9: 0x00000002     r10: 0x0549e9c8     r11: 0x03bc3000
    ip: 0x3a6c7838    sp: 0x01bbf014      lr: 0x377f751f      pc: 0x37584302
  cpsr: 0x20000030

Binary Images:
...

我对堆栈跟踪做了一些进一步的调查,并在这里找到了Subresourceloader的代码(https://webkit.googlesource.com/WebKit/ /master/Source/WebCore/loader/SubresourceLoader.cpp)。

我的猜测是,m_resource是NULL在这一点上标记 (****) 导致崩溃:

void SubresourceLoader::didReceiveResponse(const ResourceResponse& response)
{
    ASSERT(!response.isNull());
    ASSERT(m_state == Initialized);
    // Reference the object in this method since the additional processing can do
    // anything including removing the last reference to this object; one example of this is 3266216.
    Ref<SubresourceLoader> protect(*this);
    if (m_resource->resourceToRevalidate()) {  ****
        if (response.httpStatusCode() == 304) {
            // 304 Not modified / Use local copy
            // Existing resource is ok, just use it updating the expiration time.
            m_resource->setResponse(response);
            memoryCache()->revalidationSucceeded(m_resource, response);
            if (!reachedTerminalState())
                ResourceLoader::didReceiveResponse(response);
            return;
        }
        // Did not get 304 response, continue as a regular resource load.
        memoryCache()->revalidationFailed(m_resource);
    }
...

共有1个答案

杜茂
2023-03-14

如果它在重新安装后起作用,那么您可以尝试在不缓存的情况下执行URL请求,因为我假设这会产生相同的结果:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:30];
[webView loadRequest:request];

我猜资源的缓存出了问题。

 类似资料:
  • 在JavaAccessBridge屏幕捕获中发现以下错误。 此错误随机发生。请告诉我这个错误的原因?请建议我如何修理它? > --------------T H R E A D----------- 当前线程(0x05D31800):JavaThread“thread-6”后台进程[_thread_in_java,ID=16140,堆栈(0x04D60000,0x04DB0000)] SIGINF

  • 我正试图添加一个映射到片段中,我在IDE中没有错误的迹象,但应用程序只是在设备中崩溃了。我不知道发生了什么。我已经在控制台中为Android启用了地图SDK,我所做的只是将Android Studio生成的MapsActivity修改为MapsFragment。 mapsfragment.kt fragment_maps.xml 我得到的只是这个错误。

  • 问题内容: 当我跟踪问题时,我的应用程序在iOS 13.1上崩溃,然后发现由于导致应用程序崩溃。 下面是我的播放器设置。 在这里,所有内容均正确找到,但尝试使用进行初始化时崩溃。 问题答案: 我在iOS 13.1中发现崩溃问题。 这是解决方案 为什么我崩溃了?因为 我初始化像 然后我尝试如下重新分配 我的应用程序崩溃了。 解 如果您通过任何方法初始化自己的“ 喜欢” 或“或” ,请删除它,然后声明

  • 我正在从android设备库中选择一张图片,如下所示 并尝试获取,但是idx总是返回-1。我想知道我错过了什么。 清单文件 更新2:我甚至尝试了以下方法,path返回null

  • 我正在做的事情: > 使用创建数据库并将其保存到 然后,当应用程序启动时,我将其复制到

  • 每次尝试运行eclipse时,系统都会崩溃。当出现要求我选择工作区的窗口时,就会发生这种情况。我已经安装了JDK和Maven,并从官方网站下载了Eclipse