iOS上的SIGTRAP错误 - AutoreleasePoolPage :: busted

时间:2014-12-22 12:06:31

标签: ios iphone memory uikit rubymotion

有没有人知道造成这次崩溃的原因是什么?

很少发生这种情况。

崩溃报告来自设备的HockeyApp。我无法在模拟器上重现它。

任何想法都非常感激。

Exception Type:  SIGTRAP
Exception Codes: #0 at 0x197c73c10
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                      0x0000000197c73c10 _objc_trap() + 0
1   libobjc.A.dylib                      0x0000000197c73c80 _objc_fatal + 80
2   libobjc.A.dylib                      0x0000000197c8e7fc (anonymous namespace)::AutoreleasePoolPage::busted(bool) + 140
3   libobjc.A.dylib                      0x0000000197c8d54c (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 88
4   CoreFoundation                       0x0000000187418f94 _CFAutoreleasePoolPop + 24
5   UIKit                                0x000000018bcd8c28 _wrapRunLoopWithAutoreleasePoolHandler + 72
6   CoreFoundation                       0x00000001874ee14c __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 28
7   CoreFoundation                       0x00000001874eb0d8 __CFRunLoopDoObservers + 356
8   CoreFoundation                       0x00000001874eb4b8 __CFRunLoopRun + 832
9   CoreFoundation                       0x00000001874191f4 CFRunLoopRunSpecific + 392
10  GraphicsServices                     0x00000001905a75a4 GSEventRunModal + 164
11  UIKit                                0x000000018bd4a784 UIApplicationMain + 1484
12  MyAppName                            0x00000001001794d4 main (main.mm:15)
13  libdyld.dylib                        0x00000001982e2a08 start + 0

Thread 1:
0   libsystem_kernel.dylib               0x00000001983e0c94 kevent64 + 8
1   libdispatch.dylib                    0x00000001982bb3b4 _dispatch_mgr_thread + 48

Thread 2:
0   libsystem_kernel.dylib               0x00000001983e0e7c mach_msg_trap + 8
1   CoreFoundation                       0x00000001874ed5cc __CFRunLoopServiceMachPort + 196
2   CoreFoundation                       0x00000001874eb520 __CFRunLoopRun + 936
3   CoreFoundation                       0x00000001874191f4 CFRunLoopRunSpecific + 392
4   CFNetwork                            0x0000000186f1d6a4 +[NSURLConnection(Loader) _resourceLoadLoop:] + 436
5   Foundation                           0x0000000188405c0c __NSThread__main__ + 1068
6   libsystem_pthread.dylib              0x0000000198497e80 _pthread_body + 160
7   libsystem_pthread.dylib              0x0000000198497ddc _pthread_start + 156
8   libsystem_pthread.dylib              0x0000000198494fb0 thread_start + 0

Thread 3:
0   libsystem_kernel.dylib               0x00000001983fb498 __select + 8
1   libsystem_pthread.dylib              0x0000000198497e80 _pthread_body + 160
2   libsystem_pthread.dylib              0x0000000198497ddc _pthread_start + 156
3   libsystem_pthread.dylib              0x0000000198494fb0 thread_start + 0

Thread 4:
0   libsystem_kernel.dylib               0x00000001983fbc78 __workq_kernreturn + 8
1   libsystem_pthread.dylib              0x0000000198494fa8 start_wqthread + 0

Thread 5:
0   libsystem_kernel.dylib               0x00000001983fbc78 __workq_kernreturn + 8
1   libsystem_pthread.dylib              0x0000000198494fa8 start_wqthread + 0

2 个答案:

答案 0 :(得分:1)

我最后通过重构我的代码来解决这个问题。

我有一些块,我一直坚持使用导航菜单 - 想法是在点击菜单按钮时调用块。

我重构了导航菜单按钮,不再依赖块,这些AutoreleasePoolPage::busted错误消失了。

答案 1 :(得分:0)

当设备没有足够的可用内存时,可能会发生奇怪的崩溃。

这通常是在完全不同的地方发生不同的单一崩溃。

使用我的某个应用中的崩溃信息查看附加的屏幕截图

(我正在使用Crashlytics获取崩溃报告,它还显示有关可用内存的信息)

enter image description here

enter image description here

enter image description here