How do I interpret these crash reports from iOS

2

Hi I have had an iOS app in review, but it just got rejected... I have been trying to stimulate my ipad with iOS 6.1.3 to make it crash as described by apple:

Your app crashed when we tapped the action or option buttons.

But im failing, can the exact procedure of the crash be read from the report below? Im suspecting they are doing something really crazy, can you tell me if the crash is network related? or if they have been pushing a certain button? I myself cant find enough information:

Symbolicated:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x32b0629e __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x3a9aa97a objc_exception_throw + 26
2   CoreFoundation                  0x32b061c0 +[NSException raise:format:] + 100
3   UIKit                           0x34aab56c -[UINib instantiateWithOwner:options:] + 1632
4   UIKit                           0x34aaab96 -[UIViewController _loadViewFromNibNamed:bundle:] + 230
5   UIKit                           0x349a3038 -[UIViewController loadView] + 88
6   UIKit                           0x3492d468 -[UIViewController loadViewIfRequired] + 64
7   CodeFriend                      0x0000fb14 -[ThemesPopOverViewController initWithNibName:bundle:] (ThemesPopOverViewController.m:24)
8   CodeFriend                      0x0000e21a -[AppDelegate settingAct:] (AppDelegate.m:127)
9   UIKit                           0x349f90c0 -[UIApplication sendAction:to:from:forEvent:] + 68
10  UIKit                           0x349f9072 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
11  UIKit                           0x349f9050 -[UIControl sendAction:to:forEvent:] + 40
12  UIKit                           0x349f8906 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498
13  UIKit                           0x349f8dfc -[UIControl touchesEnded:withEvent:] + 484
14  UIKit                           0x349215ec -[UIWindow _sendTouchesForEvent:] + 520
15  UIKit                           0x3490e7fc -[UIApplication sendEvent:] + 376
16  UIKit                           0x3490e116 _UIApplicationHandleEvent + 6150
17  GraphicsServices                0x3660259e _PurpleEventCallback + 586
18  GraphicsServices                0x366021ce PurpleEventCallback + 30
19  CoreFoundation                  0x32adb16e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30
20  CoreFoundation                  0x32adb112 __CFRunLoopDoSource1 + 134
21  CoreFoundation                  0x32ad9f94 __CFRunLoopRun + 1380
22  CoreFoundation                  0x32a4ceb8 CFRunLoopRunSpecific + 352
23  CoreFoundation                  0x32a4cd44 0x32a44000 + 36164
24  GraphicsServices                0x366012e6 GSEventRunModal + 70
25  UIKit                           0x349622fc UIApplicationMain + 1116
26  CodeFriend                      0x0000d3b6 main (main.m:16)
27  libdyld.dylib                   0x3ade1b1c start + 0


Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3aea8350 __pthread_kill + 8
1   libsystem_c.dylib               0x3ae1f11e pthread_kill + 54
2   libsystem_c.dylib               0x3ae5b96e abort + 90
3   libc++abi.dylib                 0x3a3f9d4a abort_message + 70
4   libc++abi.dylib                 0x3a3f6ff4 default_terminate() + 20
5   libobjc.A.dylib                 0x3a9aaa74 _objc_terminate() + 144
6   libc++abi.dylib                 0x3a3f7078 safe_handler_caller(void (*)()) + 76
7   libc++abi.dylib                 0x3a3f7110 std::terminate() + 16
8   libc++abi.dylib                 0x3a3f8594 __cxa_rethrow + 84
9   libobjc.A.dylib                 0x3a9aa9cc objc_exception_rethrow + 8
10  CoreFoundation                  0x32a4cf1c CFRunLoopRunSpecific + 452
11  CoreFoundation                  0x32a4cd44 CFRunLoopRunInMode + 100
12  GraphicsServices                0x366012e6 GSEventRunModal + 70
13  UIKit                           0x349622fc UIApplicationMain + 1116
14  CodeFriend                      0x0000d3b6 main (main.m:16)
15  libdyld.dylib                   0x3ade1b1c start + 0

Thread 1:
0   libsystem_kernel.dylib          0x3aea8d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3adf6cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3adf6a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3adf68a0 start_wqthread + 4

Thread 2 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 2:
0   libsystem_kernel.dylib          0x3ae98648 kevent64 + 24
1   libdispatch.dylib               0x3adc8974 _dispatch_mgr_invoke + 792
2   libdispatch.dylib               0x3adc8654 _dispatch_mgr_thread$VARIANT$mp + 32

Thread 3:
0   libsystem_kernel.dylib          0x3aea8d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3adf6cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3adf6a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3adf68a0 start_wqthread + 4

Thread 4 name:  WebThread
Thread 4:
0   libsystem_kernel.dylib          0x3ae97eb4 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3ae98048 mach_msg + 36
2   CoreFoundation                  0x32adb040 __CFRunLoopServiceMachPort + 124
3   CoreFoundation                  0x32ad9d9e __CFRunLoopRun + 878
4   CoreFoundation                  0x32a4ceb8 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x32a4cd44 CFRunLoopRunInMode + 100
6   WebCore                         0x38a3c500 RunWebThread(void*) + 440
7   libsystem_c.dylib               0x3ae0130e _pthread_start + 306
8   libsystem_c.dylib               0x3ae011d4 thread_start + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000000      r3: 0x3c99e534
    r4: 0x00000006    r5: 0x3c99eb88      r6: 0x1dda5554      r7: 0x2fdf7a14
    r8: 0x1dda5530    r9: 0x00000300     r10: 0x00000000     r11: 0x00000000
    ip: 0x00000148    sp: 0x2fdf7a08      lr: 0x3ae1f123      pc: 0x3aea8350
  cpsr: 0x00000010

So moving on: The code used to initialize the ThemesPopOverViewController is:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {


            self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(20, 0, self.view.frame.size.width - 40, 350)];
            [self.tableView setBackgroundColor:[UIColor clearColor]];
            [self.tableView setDelegate:self];
            [self.tableView setDataSource:self];
            themes = [[NSArray alloc] initWithObjects:kRegexHighlightViewThemeArray];
            [self.view addSubview:self.tableView];
            int item = [themes indexOfObject:theDelegate.codeView.currentTheme];
            NSIndexPath *indexPath = [NSIndexPath indexPathForItem:item inSection:0];
            [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];

        }

        return self;
    }

    - (void)viewDidLoad
    {
        [super viewDidLoad];

        // Do any additional setup after loading the view from its nib.
    }

I actually seems that even after the popover is removed from the view hierarchy the allocation done by the init method above occupies memory, it is ARC, do i need to set it to nil somewhere above removing the popover? So everytime the popover is pressed the memory allocations increase...

ios
ipad
crash-reports
asked on Stack Overflow Jun 7, 2013 by David Karlsson • edited Jun 8, 2013 by David Karlsson

2 Answers

3

The most relevant information is:

7   CodeFriend   0x0000fb14 -[ThemesPopOverViewController initWithNibName:bundle:] (ThemesPopOverViewController.m:24)

ThemesPopOverViewController is being loaded from a nib file (xib). That means you have created a ThemesPopOverViewController instance and you are accessing its view for the first time (for example, by displaying it).

6   UIKit        0x3492d468 -[UIViewController loadViewIfRequired] + 64
5   UIKit        0x349a3038 -[UIViewController loadView] + 88 
4   UIKit        0x34aaab96 -[UIViewController _loadViewFromNibNamed:bundle:] + 230

Methods called by UIKit to load the view

3   UIKit        0x34aab56c -[UINib instantiateWithOwner:options:] + 1632

Here is the view actually loaded and the IBOutlets in the owner are connected.

You can't learn more from the stack trace. I am pretty sure it's not a memory error, there should even be a descriptive error message because of the following line

2   CoreFoundation    0x32b061c0 +[NSException raise:format:] + 100

It's definitely not connection related. Probably it's an invalid nib (xib) file or invalid IBOutlets. Are you sure all the IBOutlet are properly synthesized?

I will also describe shortly what are the previous steps on the stack:

16  UIKit       0x3490e116 _UIApplicationHandleEvent + 6150
15  UIKit       0x3490e7fc -[UIApplication sendEvent:] + 376
14  UIKit       0x349215ec -[UIWindow _sendTouchesForEvent:] + 520

The application is processing a tap (touch event). The event is sent to a window (UIWindow).

13  UIKit       0x349f8dfc -[UIControl touchesEnded:withEvent:] + 484
12  UIKit       0x349f8906 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498
11  UIKit       0x349f9050 -[UIControl sendAction:to:forEvent:] + 40

The event is a "touch up" event (touchesEnded is called) and the receiver is a button (UIButton inherits from UIControl). The button then generates an action, probably UIControlTouchUpInside and sends it.

10  UIKit       0x349f9072 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
9   UIKit       0x349f90c0 -[UIApplication sendAction:to:from:forEvent:] + 68

The application sends the action to the listeners.

8   CodeFriend  0x0000e21a -[AppDelegate settingAct:] (AppDelegate.m:127)

Method called -(void)settingAct in your AppDelegate is called in response to the action. From the name I can deduce that "Settings" button was touched. The method than tries to create a controller (popover?) and the crash happens.

answered on Stack Overflow Jun 7, 2013 by Sulthan • edited Jun 7, 2013 by Sulthan
0

You'll need to symbolicate the crash report by dragging it into the Xcode organizer window. If you have the symbols file for the build you sent (it should be there in the organizer with your app archives), Xcode will show you more information about what each thread was doing when the app crashed.

answered on Stack Overflow Jun 7, 2013 by Caleb

User contributions licensed under CC BY-SA 3.0