xcode 12.4 升级导致的 Objc 内存和线程崩溃
Objc memory and threading crash caused by xcode 12.4 upgrade
在过去的几周里,我一直在尝试解决看似随机出现的崩溃。我相信它与使用 xcode 12.4 从 12.3 创建的构建相吻合。我的同步操作开始崩溃,内存中出现 EXC_BAD_ACCESS
崩溃。
我正在使用 NSOperationQueue。我试过使用僵尸对象,但因为错误在 block
中,所以我看不到它们。
我的帖子是这样的:
队列视图显示 developerSubmittedBlockToNSManagedObjectContextPerform
。
有人对可能导致问题的原因有建议吗?或者其他追踪方式?谢谢
对于可能遇到类似问题的任何人,我们最终将问题追踪到数据库链接的核心数据问题。
我们的数据库实体之间缺少一些反向关系。主要理论是,由于关系不存在,系统将取消分配上下文。这将抛出无用的线程问题。
这些关系多年来一直处于这种状态,我们认为在最近的 excode 更新中,内存管理系统可能已经更新,从而暴露了这个问题。
在过去的几周里,我一直在尝试解决看似随机出现的崩溃。我相信它与使用 xcode 12.4 从 12.3 创建的构建相吻合。我的同步操作开始崩溃,内存中出现 EXC_BAD_ACCESS
崩溃。
我正在使用 NSOperationQueue。我试过使用僵尸对象,但因为错误在 block
中,所以我看不到它们。
我的帖子是这样的:
队列视图显示 developerSubmittedBlockToNSManagedObjectContextPerform
。
有人对可能导致问题的原因有建议吗?或者其他追踪方式?谢谢
对于可能遇到类似问题的任何人,我们最终将问题追踪到数据库链接的核心数据问题。
我们的数据库实体之间缺少一些反向关系。主要理论是,由于关系不存在,系统将取消分配上下文。这将抛出无用的线程问题。
这些关系多年来一直处于这种状态,我们认为在最近的 excode 更新中,内存管理系统可能已经更新,从而暴露了这个问题。