SIGSEGV SEGV_ACCERR错误 - 未引用应用程序的方法

时间:2013-11-27 13:39:02

标签: ios objective-c crash sigsegv

此崩溃报告中没有引用我的应用程序的方法,但我无法重现它。我的几个用户遇到了同样的崩溃。我找不到任何带滚动视图的tableview单元格或任何使用弹簧的地方。这次崩溃可能来自哪里?

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 个答案:

答案 0 :(得分:7)

这是我看到的崩溃报告:

  1. 崩溃是SIGSEGV中的objc_msgSend造成的。这意味着应用程序正在尝试向无效的对象发送消息。这意味着您的应用程序(某处)至少存在一个内存问题。

  2. 尝试使用滑动删除手势删除tableView中的行时会出现问题,请参阅显示在堆栈跟踪中的-[UITableView _endSwipeToDeleteRowDidDelete:]以及上面的其他提示,如-[UITableViewCell _animateSwipeCancelation]-[UITableViewCell _updateViewsForDeleteButton]

  3. 因此,在应用程序的所有表视图中检查此用例可能值得一试。

    此外,使用Xcode的Analyze功能并修复其显示的所有警告,并尝试使用Enable Zombie Objects设置运行您的应用。有很多网站,也在这里回答SO解释如何做到这一点。