- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个实时应用程序的崩溃报告:
Crashed: com.apple.root.user-initiated-qos.overcommit
0 libobjc.A.dylib 0x21d486c8 objc_release + 7
1 libobjc.A.dylib 0x21d493a9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 388
2 libdispatch.dylib 0x22110739 _dispatch_root_queue_drain + 1896
3 libdispatch.dylib 0x2210ffcd _dispatch_worker_thread3 + 96
4 libsystem_pthread.dylib 0x222c5b29 _pthread_wqthread + 1024
5 libsystem_pthread.dylib 0x222c5718 start_wqthread + 8
最有用的信息似乎是发生崩溃的队列的名称:com.apple.root.user-initiated-qos.overcommit
。我已经检查了我所有的代码,我要么使用主队列,要么使用系统后台队列(即不是用户启动的 qos),要么使用我自己创建的命名队列。
我的应用程序中确实包含其他 SDK,因此这些 SDK 很可能会将工作分派(dispatch)到此队列中。但在我假设是这种情况之前,我想知道是否存在 iOS 本身将工作分派(dispatch)到此队列的任何常见原因,这可能有助于我隔离代码库的区域以进行更仔细的检查。
我从研究 ( WWDC 2015 - Session 718 ) 了解到,当工作 dispatch_async
到没有特定“服务质量”设置的队列,来自主线程(用户交互 qos)。但如上所述,我不认为我在为所有队列命名时这样做。
那么有人知道 iOS 是否或何时使用 com.apple.root.user-initiated-qos.overcommit
队列吗?
最佳答案
这是系统创建的默认队列。各种 UI 组件和系统组件向该队列调度 block 。
当您在堆栈跟踪中看到 _dispatch_root_queue_drain
崩溃时,这意味着某个 block 已经在该队列上执行并且自动释放池正在被耗尽。通常崩溃是由释放已经释放的对象引起的,恰好“额外”释放最终归因于自动释放池,因为它最后运行。
很可能您已将某个对象移交给某处的系统框架,但它意外地过度释放。
编辑:Here are instructions使用 NSZombie 来追踪这些
关于用户发起的 qos.overcommit 导致 iOS 崩溃。什么可能会创建这个队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414918/
我目前有一个由 3 台机器组成的集群,它们都在运行 Ubuntu,并且已经使用 Cloudera Manager 进行了配置。查看集群后,我发现其中两台机器出现错误“Memory Overcommit
我收到来自 Crashlytics 的崩溃: Crashed: com.apple.root.default-overcommit-priority EXC_BAD_ACCESS KERN_INVAL
我有一个实时应用程序的崩溃报告: Crashed: com.apple.root.user-initiated-qos.overcommit 0 libobjc.A.dylib
我在我的项目中使用过度使用 gem ( https://github.com/brigade/overcommit ),当我使用 Github Desktop for osx 时,我得到这些错误: T
只是非常不清楚(至少对我而言)内存崩溃 Crashed: com.apple.root.default-overcommit-priority EXC_BAD_ACCESS KERN_INVALID_
安装 overcommit 并签署 .overcommit.yml 后本地文件我仍然收到“签名”要求。 $ overcommit --sign Updating signature for confi
有人有诊断这些崩溃的经验吗?我有一个用户始终如一地获得它们,尽管我找到了一篇与 iOS 相关的帖子,但我的应用程序在相同类型的操作上并没有崩溃... 最佳答案 原因: 在iOS/tvOS中有队列/线程
在崩溃报告中,我看到多个线程具有 com.apple.root.default-overcommit-priority。有人可以让我知道这是什么意思吗?我找不到任何线索来修复崩溃。 com.apple
我的测试人员经常在他们的iPhone 4上收到此错误-在iPhone 5s,iPad Air,iPad mini上没有崩溃,甚至在iPhone 3GS上也没有崩溃。 我以为它与内存有关,但是根据仪器,
我正在开发一个应用程序,其中在 ASINetworkQueue 中添加了很多操作。这些操作基本上用于从服务器获取图像,然后成功完成后在表格 View 单元格中设置图像。 一切都很好。我有一个按钮,一个
在我的应用中,线程 13 标记为: com.apple.root.default-overcommit-priority 我在下面看到一个: 0 __forwarding__ 下面我有一个: 6 _p
我是一名优秀的程序员,十分优秀!