1

我正在开发一个 iPad 应用程序来工作,自从更新到 iOS 7 后,我们看到 iPad 上出现随机挂起。我对使用 XCode 进行调试有点陌生。据我所知,主线程被阻塞等待完成,但我不知道那是什么。这是线程转储:

* thread #1: tid = 0x260c, 0x384f4554 libsystem_kernel.dylib`__semwait_signal + 28, queue = 'com.apple.main-thread, stop reason = instruction step over
frame #0: 0x384f4554 libsystem_kernel.dylib`__semwait_signal + 28
frame #1: 0x3846580c libsystem_c.dylib`nanosleep + 172
frame #2: 0x3846575a libsystem_c.dylib`usleep + 50
frame #3: 0x2fd28b9e QuartzCore`native_window_begin_iosurface(_EAGLNativeWindowObject*) + 1062
frame #4: 0x2fa25d42 GLEngine`gliGetNewIOSurfaceES + 54
frame #5: 0x2c53d148 IMGSGX543GLDriver`sgxResolveDeferredFramebufferOffset + 48
frame #6: 0x2c5337a0 IMGSGX543GLDriver`sgxPatchDeferredFramebufferOffsets + 28
frame #7: 0x2c538a1c IMGSGX543GLDriver`sgxEndRender + 12
frame #8: 0x2c531828 IMGSGX543GLDriver`SubmitPackets + 24
frame #9: 0x2fa25c6a GLEngine`gliPresentViewES + 166
frame #10: 0x2fa30138 OpenGLES`-[EAGLContext presentRenderbuffer:] + 64
frame #11: 0x00cba74e libglInterpose.dylib`EAGLContext_presentRenderbuffer(EAGLContext*, objc_selector*, unsigned int) + 370

在 iOS 7 之后,还有其他人在 iPad 上看到过类似的 OpenGL 问题吗?

编辑:根据要求,其他线程:

Thread 5:
* thread #5: tid = 0x3ade2, 0x3998e550 libsystem_kernel.dylib`__semwait_signal + 24, name = 'gputools.smt_poll.0x1461ec90
frame #0: 0x3998e550 libsystem_kernel.dylib`__semwait_signal + 24
frame #1: 0x398ff80c libsystem_c.dylib`nanosleep + 172
frame #2: 0x398ff75a libsystem_c.dylib`usleep + 50
frame #3: 0x00cb1f38 GPUToolsCore`smt_poll_thread_entry(void*) + 124
frame #4: 0x399f6c1c libsystem_pthread.dylib`_pthread_body + 140
frame #5: 0x399f6b8e libsystem_pthread.dylib`_pthread_start + 102
frame #6: 0x399f4c90 libsystem_pthread.dylib`thread_start + 8

Thread 6:
* thread #6: tid = 0x3ade4, 0x3997b83c libsystem_kernel.dylib`kevent64 + 24, queue = 'com.apple.libdispatch-manager
frame #0: 0x3997b83c libsystem_kernel.dylib`kevent64 + 24
frame #1: 0x398bc224 libdispatch.dylib`_dispatch_mgr_invoke + 232
frame #2: 0x398bbfaa libdispatch.dylib`_dispatch_mgr_thread$VARIANT$mp + 38

Thread 8:
* thread #8: tid = 0x3ade5, 0x3998df38 libsystem_kernel.dylib`__psynch_cvwait + 24
frame #0: 0x3998df38 libsystem_kernel.dylib`__psynch_cvwait + 24
frame #1: 0x399f6228 libsystem_pthread.dylib`_pthread_cond_wait + 540
frame #2: 0x399f7004 libsystem_pthread.dylib`pthread_cond_wait + 40
frame #3: 0x000c7f60 Bones`awThread::Condition::wait(this=0x145322a8, i=Interval at 0x032dcd78) + 100 at awThreadCondition.cpp:344
frame #4: 0x000c73f0 Bones`awThread::Barrier::Impl::wait(this=0x145322a0) + 596 at awThreadBarrier.cpp:52
frame #5: 0x000c716c Bones`awThread::Barrier::wait(this=0x14532290) + 28 at awThreadBarrier.cpp:118
frame #6: 0x000c9b0c Bones`awThread::PoolImpl::threadFunc(this=0x145321b0) + 260 at awThreadPoolImpl.cpp:133
frame #7: 0x000c960c Bones`awThread::PoolImpl::staticThreadFunc(data=0x145321b0) + 32 at awThreadPoolImpl.cpp:178
frame #8: 0x000c5d34 Bones`(anonymous namespace)::awThreadFunction(data_=0x1452bcd0) + 168 at awThread.cpp:79
frame #9: 0x399f6c1c libsystem_pthread.dylib`_pthread_body + 140
frame #10: 0x399f6b8e libsystem_pthread.dylib`_pthread_start + 102

Thread 9:
* thread #9: tid = 0x3ade6, 0x3998df38 libsystem_kernel.dylib`__psynch_cvwait + 24
frame #0: 0x3998df38 libsystem_kernel.dylib`__psynch_cvwait + 24
frame #1: 0x399f6228 libsystem_pthread.dylib`_pthread_cond_wait + 540
frame #2: 0x399f7004 libsystem_pthread.dylib`pthread_cond_wait + 40
frame #3: 0x000c7f60 Bones`awThread::Condition::wait(this=0x145322a8, i=Interval at 0x0335ed78) + 100 at awThreadCondition.cpp:344
frame #4: 0x000c73f0 Bones`awThread::Barrier::Impl::wait(this=0x145322a0) + 596 at awThreadBarrier.cpp:52
frame #5: 0x000c716c Bones`awThread::Barrier::wait(this=0x14532290) + 28 at awThreadBarrier.cpp:118
frame #6: 0x000c9b0c Bones`awThread::PoolImpl::threadFunc(this=0x145321b0) + 260 at awThreadPoolImpl.cpp:133
frame #7: 0x000c960c Bones`awThread::PoolImpl::staticThreadFunc(data=0x145321b0) + 32 at awThreadPoolImpl.cpp:178
frame #8: 0x000c5d34 Bones`(anonymous namespace)::awThreadFunction(data_=0x14532280) + 168 at awThread.cpp:79
frame #9: 0x399f6c1c libsystem_pthread.dylib`_pthread_body + 140
frame #10: 0x399f6b8e libsystem_pthread.dylib`_pthread_start + 102

Thread 12:
* thread #12: tid = 0x3ae4e, 0x3997ba8c libsystem_kernel.dylib`mach_msg_trap + 20, name = 'com.apple.NSURLConnectionLoader
frame #0: 0x3997ba8c libsystem_kernel.dylib`mach_msg_trap + 20
frame #1: 0x3997b88c libsystem_kernel.dylib`mach_msg + 48
frame #2: 0x2ec937ca CoreFoundation`__CFRunLoopServiceMachPort + 154
frame #3: 0x2ec91ef0 CoreFoundation`__CFRunLoopRun + 784
frame #4: 0x2ebfcce6 CoreFoundation`CFRunLoopRunSpecific + 522
frame #5: 0x2ebfcaca CoreFoundation`CFRunLoopRunInMode + 106
frame #6: 0x2f636496 Foundation`+[NSURLConnection(Loader) _resourceLoadLoop:] + 318
frame #7: 0x2f6abe26 Foundation`__NSThread__main__ + 1062
frame #8: 0x399f6c1c libsystem_pthread.dylib`_pthread_body + 140
frame #9: 0x399f6b8e libsystem_pthread.dylib`_pthread_start + 102

Thread 15:
* thread #15: tid = 0x3ae54, 0x3998e440 libsystem_kernel.dylib`select$DARWIN_EXTSN + 20, name = 'com.apple.CFSocket.private
frame #0: 0x3998e440 libsystem_kernel.dylib`select$DARWIN_EXTSN + 20
frame #1: 0x2ec9768c CoreFoundation`__CFSocketManager + 484
frame #2: 0x399f6c1c libsystem_pthread.dylib`_pthread_body + 140
frame #3: 0x399f6b8e libsystem_pthread.dylib`_pthread_start + 102

Thread 23:
* thread #23: tid = 0x3b191, 0x3998ec7c libsystem_kernel.dylib`__workq_kernreturn + 8
frame #0: 0x3998ec7c libsystem_kernel.dylib`__workq_kernreturn + 8
frame #1: 0x399f4dca libsystem_pthread.dylib`_pthread_wqthread + 310
frame #2: 0x399f4c84 libsystem_pthread.dylib`start_wqthread + 8
4

0 回答 0