【发布时间】:2014-06-02 15:58:19
【问题描述】:
我们的应用自发布以来就发生了崩溃。我们已经修复了所有其他重大崩溃,只剩下这一次。 Crashlytics 像这样报告崩溃:
Crashed: com.apple.root.default-priority
EXC_BREAKPOINT UNKNOWN at 0x0000defe
Thread : Crashed: com.apple.root.default-priority
0 libsystem_platform.dylib 0x3894b620 _os_lock_corruption_abort + 18446744073709552000
1 libsystem_platform.dylib 0x3894b61f _OSSpinLockLockSlow$VARIANT$wfe + 98
2 Foundation 0x2e9ad333 __NSOQSchedule + 50
3 Foundation 0x2e90cfaf +[__NSOperationInternal _observeValueForKeyPath:ofObject:changeKind:oldValue:newValue:indexes:context:] + 1198
4 Foundation 0x2e90ca0b NSKeyValueNotifyObserver + 90
5 Foundation 0x2e90c765 NSKeyValueDidChange + 344
6 Foundation 0x2e90be61 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 508
7 Foundation 0x2e9ad1f9 __103+[__NSOperationInternal _observeValueForKeyPath:ofObject:changeKind:oldValue:newValue:indexes:context:]_block_invoke + 108
8 libdispatch.dylib 0x3881e0c3 _dispatch_call_block_and_release + 10
9 libdispatch.dylib 0x388237d9 _dispatch_root_queue_drain + 224
10 libdispatch.dylib 0x388239c5 _dispatch_worker_thread2 + 56
11 libsystem_pthread.dylib 0x3894ddff _pthread_wqthread + 298
注意事项:
- 内存地址始终为 0x0000defe。
- 它总是发生在后台线程上。
-
__NSOperationInternal表明这是一个 NSOperation 错误。 - 我们的代码不会显示在此线程的堆栈跟踪中的任何位置。
- 我们在一些地方使用 NSOperations,包括 AFNetworking。
- 主线程通常在做某事,但通常不使用任何共享资源。
- 我无法在调试器中重现它,因此它可能是一个仅限设备的错误。
我很感激任何关于为什么会发生这种崩溃的想法或见解。
【问题讨论】:
-
这听起来像是越狱特有的崩溃。报告崩溃的设备是否越狱?
-
@remus 这绝对不是越狱专用的。它的发生率非常高,并且发生在我认识的没有越狱的朋友身上。
-
Hrmmmmm 值得一试!
标签: objective-c nsoperation key-value-observing