答案 0 :(得分:0)
我想查看完整的崩溃日志以获取更多信息。有了与并发相关的任何内容,我想看看所有线程在做什么。有时,线程中有一个提示没有崩溃。
我不知道发生了什么。但是我可以在这里做出一个有根据的猜测,即您看到某种形式的堆损坏。函数“ os_unfair_lock_corruption_abort”强烈表明操作系统的原始锁定机制已检测到损坏的数据结构,并且正在终止处理。
堆损坏非常常见,并且调试起来非常困难。原因之一是您在这里看到的是腐败的症状,而不是根源。来源可能与lock / OperationQueue内部结构完全无关。
我的建议是尝试使用可用的内存调试工具,并尝试修复所有可发现的问题。您可能永远无法知道是哪个原因引起的。但这几乎就是您所能做的。
检查malloc涂抹,guardmalloc甚至是NSZombies。所有这些都可能会导致代码中出现一些堆破坏错误。