syscall_thread_switch iOS 8.3比赛 – CocoaLumberjack的错误? 如何debugging呢?

我在我的应用程序中遇到竞争条件,每当我暂停debugging时,除了1个线程之外的所有或所有线程都卡在syscall_thread_switch上。 它在模拟器上复制的频率要高得多,而且在iPad Air上也是如此。 在CocoaLumberjack的queueLogMessage中至less有2个线程被阻塞: – 见截图。

我在8.1和8.2之前从来没有见过这个,但是我经常在8.3上看到它。 我不是声称这是一个8.3错误:)

这是一个复杂的程度,我从来没有debugging过,所以我不知道该怎么做。 我希望能够提供足够的信息,如果您需要更多信息,请告诉我们(如果信息不是很清楚的话,请具体说明如何获取信息)。 你能帮我debugging吗?! 数百万的感谢。

线程概述

线程细节1

线程细节2

主线位置

我在NSOperationQueue在iOS 8.3(与CocoaLumberjack无关)中遇到了与NSOperations类似的问题。 我有并行操作创build自己的线程,这是不再需要的。 它在8.2中performance得非常好,但不是8.3。

在开始的方法中,我简单地replace了:

[NSThread detachNewThreadSelector:@selector(main) toTarget:self withObject:nil]; 

附:

 [self main];