应用程序closuresEXC_RESOURCE,WAKEUPS例外iOS 8 GM

有谁知道这种例外是在iOS 8上吗?

===从崩溃报告===

Exception Type: EXC_RESOURCE Exception Subtype: WAKEUPS Exception Message: (Limit 150/sec) Observed 206/sec over 300 secs Triggered by Thread: 14 

似乎只发生在iOS 8 …我们的应用程序相当随机closures,以任意的时间间隔,这个例外..

任何线索都欢迎。 谢谢!

你的应用程序正在向应用中的特定线程发送唤醒命令 – 显然平均每秒206次。 iOS 8中的后台线程对于每秒每个线程运行一次睡眠/唤醒周期的次数有很大的限制,而且这里的计数很高通常表明线程pipe理中出现了某些错误/效率低下的情况。

没有看到你的代码,我的build议是,你检查你的C ++algorithm的睡眠/唤醒调用,或multithreading后台进程,每个周期开始新的线程。

Ray Wenderlich有一个关于苹果multithreading系统的精彩教程,Grand Central Dispactch,这也可能是一个很好的资源: http ://www.raywenderlich.com/60749/grand-central-dispatch-in-depth-part- 1

使用Xamarin,我们也得到了这个问题。 我们正在使用同时等待很长一段时间的4个SemaphoreSlim。 用另一个原始同步replaceSemaphoreSlim(在我们的例子中是AutoResetEvent来模拟一个项目的信号量)修复了这个问题。

在我的情况下在ios 9.1这是由线程2绊倒,这似乎是GLES驱动程序的一些工作人员通过项目来源search我没有看到任何引用GPUTools。

 Thread 2 name: gputools.smt_poll.0x145722df0 Thread 2 Attributed: 0 libsystem_kernel.dylib 0x000000019a8b7440 __semwait_signal + 8 1 libsystem_c.dylib 0x000000019a7c9e2c nanosleep + 212 2 libsystem_c.dylib 0x000000019a7c9d4c 0x19a7bc000 + 56652 3 GPUToolsCore 0x0000000100ba0ae0 0x100b98000 + 35552 4 libsystem_pthread.dylib 0x000000019a97fb28 _pthread_body + 156 5 libsystem_pthread.dylib 0x000000019a97fa8c _pthread_body + 0 6 libsystem_pthread.dylib 0x000000019a97d028 thread_start + 4 

看到这个: iOS 7和OpenGL问题/崩溃我已经提交了苹果的bug 23389472,在我的情况下,这不是一个线程我或一些第三方代码已经创build,因此,这很可能不是我的错误。 底线是:如果违规的线程是你的(包括明显的第三方软件),那么瑞安的答案适用。 否则,你必须联系苹果公司和/或在此期间寻找解决方法。