简体   繁体   中英

I am getting a lot of SIGSEGV exception in my iOS app crash report and that too crashes in UINavigationController

Here is my crash report and this is irrespective of the iOS version and the device. Also I would like to know, is SIGSEGV_ACCERR is something related to memory. Can you Please help me nailing down this issue. I have a bunch of crash reports with the below log

Date/Time:       2012-09-25 23:55:33 +0000
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

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

Thread 0 Crashed:
0   libobjc.A.dylib                     0x37734f78 objc_msgSend + 16
1   UIKit                               0x32e0c503 -[UINavigationController _startDeferredTransitionIfNeeded] + 251
2   UIKit                               0x32e568eb _popViewControllerNormal + 191
3   UIKit                               0x32e56719 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 393
4   UIKit                               0x32e56c79 -[UINavigationController navigationBar:shouldPopItem:] + 153
5   UIKit                               0x32e56a8f -[UINavigationBar _popNavigationItemWithTransition:] + 99
6   UIKit                               0x32ea6247 -[UINavigationBar popNavigationItemAnimated:] + 123
7   UIKit                               0x32ea60d5 -[UINavigationBar _handleMouseUpAtPoint:] + 925
8   UIKit                               0x32ea5d33 -[UINavigationBar touchesEnded:withEvent:] + 83
9   UIKit                               0x32de192b -[UIWindow _sendTouchesForEvent:] + 319
10  UIKit                               0x32de1319 -[UIWindow sendEvent:] + 381
11  UIKit                               0x32dc7695 -[UIApplication sendEvent:] + 357
12  UIKit                               0x32dc6f3b _UIApplicationHandleEvent + 5827
13  GraphicsServices                    0x36f8622b PurpleEventCallback + 883
14  CoreFoundation                      0x35367523 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 39
15  CoreFoundation                      0x353674c5 __CFRunLoopDoSource1 + 141
16  CoreFoundation                      0x35366313 __CFRunLoopRun + 1371
17  CoreFoundation                      0x352e94a5 CFRunLoopRunSpecific + 301
18  CoreFoundation                      0x352e936d CFRunLoopRunInMode + 105
19  GraphicsServices                    0x36f85439 GSEventRunModal + 137
20  UIKit                               0x32df5cd5 UIApplicationMain + 1081
21  Myapp                               0x00003597 main (main.m:20)

A very quick google of SIGSEGV will tell you exactly what it is (a signal meaning a segmentation violation). Those links will also teach you why it happens.

From the stack trace, you can see that the main loop is handling a touch in the navigation bar., which results in a pop transition. While popping the view controller, a bad memory access crashes the app.

It even tells you the address it tried to access (which resulted in the crash): 0x60000008 Doesn't that address look a bit too "neat?"

So, I'd first try to recreate it in the debugger. I'd also add some logging in my view controllers that are pushed/popped so I can tell which one is causing the crash.

You can guess that it is a direct result of pressing one of the "back" buttons in your navigation controller.

So, I'd also be inclined to look at how I setup my controllers that are pushed on the nav controller and also investigate how you are using the navigation bar (because popping them is causing the crash).

It looks like the crash is happening in the core library, so it must be in the setup of your controller, as there does not appear to be any calls to you code in the stack trace.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM