SIGSEGV SEGV_ACCERR 错误 - 应用程序没有引用方法

7

这个崩溃报告中没有引用到我的应用程序中的任何方法,我也无法复现出这个崩溃。但是有多位用户遇到了同样的崩溃问题。我找不到任何带有滚动视图的表格视图单元格,也没有使用弹簧的地方。这个崩溃可能来自哪里?

Incident Identifier: 748D4582-3868-42BD-BF98-B3B47895954D
CrashReporter Key:   F7F44964-E877-4C7A-881C-91EBC4261080
Hardware Model:      iPhone5,1
Process:         MyApp [2415]
Path:            /Users/USER/MyApp.app/MyApp
Identifier:      com.mycom.myapp
Version:         1.5.1
Code Type:       ARM
Parent Process:  launchd [1]

Date/Time:       2013-11-21 05:30:47 +0000
OS Version:      iPhone OS 7.0.4 (11B554a)
Report Version:  104

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x5000000c
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                      0x3921fb66 objc_msgSend + 5
1   UIKit                                0x3177e315 -[UITableView _createPreparedCellForGlobalRow:withIndexPath:] + 409
2   UIKit                                0x317266cd -[UITableView _updateVisibleCellsNow:] + 1800
3   UIKit                                0x31719f75 -[UITableView _visibleCells] + 24
4   UIKit                                0x31783f13 -[UITableView indexPathForCell:] + 26
5   UIKit                                0x31782289 -[UITableViewCell _canDoSeparatorLayout] + 64
6   UIKit                                0x31781e19 -[UITableViewCell _updateSeparatorContent] + 56
7   UIKit                                0x31844a3b -[UITableViewCell _updateViewsForDeleteButton] + 218
8   UIKit                                0x3171c673 -[UITableViewCellScrollView setContentOffset:] + 186
9   UIKit                                0x31880561 __43-[UITableViewCell _animateSwipeCancelation]_block_invoke + 81
10  UIKit                                0x31681113 +[UIView _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:] + 490
11  UIKit                                0x317a66ef +[UIView _animateUsing WithDuration:delay:options:mass:stiffness:damping:initialVelocity:animations:start:completion:] + 166
12  UIKit                                0x317a663f +[UIView _animateUsingSpringWithDuration:delay:options:mass:stiffness:damping:initialVelocity:animations:completion:] + 90
13  UIKit                                0x318804bf -[UITableViewCell _animateSwipeCancelation] + 278
14  UIKit                                0x31850639 -[UITableView _endSwipeToDeleteRowDidDelete:] + 216
15  UIKit                                0x31901873 -[UITableView willMoveToSuperview:] + 62
16  UIKit                                0x318e1913 __UIViewWillBeRemovedFromSuperview + 151
17  UIKit                                0x3164a091 -[UIView removeFromSuperview] + 56
18  UIKit                                0x3171e431 -[UIScrollView removeFromSuperview] + 64
19  UIKit                                0x3164c9b3 -[UIView dealloc] + 366
20  libobjc.A.dylib                      0x39221023 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 359
21  CoreFoundation                       0x2edfb1c9 _CFAutoreleasePoolPop + 16
22  CoreFoundation                       0x2ee90e83 __CFRunLoopRun + 1315
23  CoreFoundation                       0x2edfb471 CFRunLoopRunSpecific + 524
24  CoreFoundation                       0x2edfb253 CFRunLoopRunInMode + 106
25  GraphicsServices                     0x33b352eb GSEventRunModal + 138
26  UIKit                                0x316b0845 UIApplicationMain + 1136
27  MyApp                          0x000e810b main (main.m:5)
28  libdyld.dylib                        0x3971dab7 start + 3

Thread 1:
0   libsystem_kernel.dylib               0x397c1838 kevent64 + 24
1   libdispatch.dylib                    0x3970a623 _dispatch_mgr_thread + 39

Thread 2:
0   libsystem_kernel.dylib               0x397d4c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib              0x39838cc4 start_wqthread + 8

Thread 3:
0   libsystem_kernel.dylib               0x397d4c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib              0x39838cc4 start_wqthread + 8

Thread 4:
0   libsystem_kernel.dylib               0x397d4c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib              0x39838cc4 start_wqthread + 8

Thread 5:
0   libsystem_kernel.dylib               0x397c1a84 mach_msg_trap + 20
1   CoreFoundation                       0x2ee92559 __CFRunLoopServiceMachPort + 157
2   CoreFoundation                       0x2ee90c79 __CFRunLoopRun + 793
3   CoreFoundation                       0x2edfb471 CFRunLoopRunSpecific + 524
4   CoreFoundation                       0x2ee3f0db CFRunLoopRun + 98
5   CoreMotion                           0x2f4b3369 CLSF_thorntonUpdate_6x6 + 57225
6   libsystem_pthread.dylib              0x3983ac5d _pthread_body + 141
7   libsystem_pthread.dylib              0x3983abcf _pthread_start + 102
8   libsystem_pthread.dylib              0x39838cd0 thread_start + 8

Thread 0 crashed with ARM Thread State:
    pc: 0x3921fb66     r7: 0x27d21618     sp: 0x27d215f4     r0: 0x17f82270 
    r1: 0x31c343d7     r2: 0x189d9e00     r3: 0x17d46730     r4: 0x189d9e00 
    r5: 0x00000338     r6: 0x17e0e340     r8: 0x39e43294     r9: 0x50000000 
   r10: 0x17d46730    r11: 0x000001d0     ip: 0x39d3e220     lr: 0x3177e315 
  cpsr: 0x20000030 
1个回答

7
这是我在查看崩溃报告时能看到的信息:
1. 崩溃是由SIGSEGVobjc_msgSend引起的。这意味着应用程序试图向一个无效的对象发送消息。这意味着你的应用程序中至少存在一个内存问题(某个地方)。
2. 看起来问题出现在尝试使用滑动删除手势删除tableView中的一行时,可以看到 -[UITableView _endSwipeToDeleteRowDidDelete:]在堆栈跟踪中显示,并且还有其他提示,如-[UITableViewCell _animateSwipeCancelation], -[UITableViewCell _updateViewsForDeleteButton]
因此,检查应用程序中所有表视图中的这种情况可能值得一试。
此外,请使用Xcode的Analyze功能并修复它显示的所有警告,同时尝试使用Enable Zombie Objects设置运行应用程序。有很多网站和SO上的答案解释如何做到这一点。

非常感谢。我会继续尝试重现这个问题。那么,错误的原因是我正在尝试删除的对象无效吗? - SAHM
1
它不一定是您要删除的对象无效,可能是其他某些东西无效。 - Kerni
另外,我确实使用Analyze和Zombie对象。只是当无效的对象可能是任何东西时,尝试找出错误的起点很困难。我会继续努力复现。再次感谢。 - SAHM
启用“ZombieObjects”选项能否帮助我在创建启用了“ZombieObjects”的.ipa文件后,在崩溃日志中看到结果?我想在手机上测试它,而不是插入电脑,而我发现最好的方法是通过.ipa文件。 - SAHM
2
只有在使用连接到Xcode的调试时,才应启用Zombie对象以查找此类情况。千万不要在测试版本甚至是应用商店版本中启用它。绝对不能!它也无法帮助崩溃报告。 - Kerni
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接