iOS Unknown Signal crash: Where to start? - ios

I've received this crash report from TestFlight, but I've been unable to duplicate the crash in my own environment, and from the stack trace it doesn't seem to reference my own code at all. Any help in finding a jump off point for where to look would help, even if it's just advice on how to figure it out on my own.
Error: Unknown Signal
0 MyApp 0x000f3e96 testflight_backtrace + 142
1 MyApp 0x000f4a24 TFSignalHandler + 212
2 libsystem_c.dylib 0x36dbe7ec _sigtramp + 48
3 UIKit 0x32100f0e -[UIImageView(UIImageViewInternal) _canDrawContent] + 78
4 UIKit 0x320e530c -[UIView(Internal) _didMoveFromWindow:toWindow:] + 940
5 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
6 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
7 UIKit 0x3210a8e2 -[UIScrollView _didMoveFromWindow:toWindow:] + 54
8 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
9 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
10 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
11 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
12 UIKit 0x320e5108 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 424
13 UIKit 0x320e4eec -[UIView(Hierarchy) _postMovedFromSuperview:] + 140
14 UIKit 0x320e59b4 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1168
15 UIKit 0x320e551e -[UIView(Hierarchy) addSubview:] + 30
16 UIKit 0x3217c1a4 -[UITransitionView transition:fromView:toView:] + 980
17 UIKit 0x3217bdc8 -[UITransitionView transition:toView:] + 104
18 UIKit 0x3217b994 -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 524
19 UIKit 0x3217b782 -[UITabBarController transitionFromViewController:toViewController:] + 30
20 UIKit 0x3217b0bc -[UITabBarController _setSelectedViewController:] + 300
21 UIKit 0x322045d8 -[UITabBarController _tabBarItemClicked:] + 344
22 CoreFoundation 0x3501e3fc -[NSObject performSelector:withObject:withObject:] + 52
23 UIKit 0x320fdfae -[UIApplication sendAction:to:from:forEvent:] + 62
24 UIKit 0x320fdf6a -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
25 UIKit 0x3220445c -[UITabBar _sendAction:withEvent:] + 352
26 CoreFoundation 0x3501e3fc -[NSObject performSelector:withObject:withObject:] + 52
27 UIKit 0x320fdfae -[UIApplication sendAction:to:from:forEvent:] + 62
28 UIKit 0x320fdf6a -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
29 UIKit 0x320fdf48 -[UIControl sendAction:to:forEvent:] + 44
30 UIKit 0x320fdcb8 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 492
31 UIKit 0x322041ec -[UITabBar(Static) _buttonUp:] + 116
32 CoreFoundation 0x3501e3fc -[NSObject performSelector:withObject:withObject:] + 52
33 UIKit 0x320fdfae -[UIApplication sendAction:to:from:forEvent:] + 62
34 UIKit 0x320fdf6a -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
35 UIKit 0x320fdf48 -[UIControl sendAction:to:forEvent:] + 44
36 UIKit 0x320fdcb8 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 492
37 UIKit 0x320fe5f0 -[UIControl touchesEnded:withEvent:] + 476
38 UIKit 0x320fcad2 -[UIWindow _sendTouchesForEvent:] + 318
39 UIKit 0x320fc4c0 -[UIWindow sendEvent:] + 380
40 UIKit 0x320e283c -[UIApplication sendEvent:] + 356
41 UIKit 0x320e20e2 _UIApplicationHandleEvent + 5826
42 GraphicsServices 0x3631722a PurpleEventCallback + 882
43 CoreFoundation 0x35098522 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
44 CoreFoundation 0x350984c4 __CFRunLoopDoSource1 + 140
45 CoreFoundation 0x35097312 __CFRunLoopRun + 1370
46 CoreFoundation 0x3501a4a4 CFRunLoopRunSpecific + 300
47 CoreFoundation 0x3501a36c CFRunLoopRunInMode + 104
48 GraphicsServices 0x36316438 GSEventRunModal + 136
49 UIKit 0x32110e7c UIApplicationMain + 1080
50 WiseLaw 0x0009365e main (main.m:14)
51 WiseLaw 0x00093617 start + 39

As a vague hint, it might be caused when selecting a tab in UITabViewController and subsequently drawing a UIImageView. Maybe you are referencing a zombie object somewhere.
The stack trace you have doesn't help a lot, try to get the original iOS crash report from the device. The crash could also have been triggered on another thread.
You might want to try a crash reporting solution based on the PLCrashReporter framework, which will show you all threads and also shows the Last Exception Backtrace, if the crash is actually caused by an exception and re-thrown into another runloop. The project page shows some open source and hosted solutions that are based on it: http://code.google.com/p/plcrashreporter/

These link might help in resolving the crash
http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1
http://www.raywenderlich.com/10505/my-app-crashed-now-what-part-2
Try to use DDLog instead of nslog ,It helps in tracking bugs
Link for DDLog sample code:=
https://github.com/robbiehanson/CocoaLumberjack

Related

Random crashes in IOS

I have this app in the app store, which according to Crashalitics, its %92-%95 stable. I made a similar app for Android and its around 98% stable. I am trying to get the stability up - but I don't see how. All the bugs I am seeing in the IOS version are not touching my code.
I see random bugs, that are not reproducible, and when they do are very random. Each happens 1-10 times, but I have a list of ... ~30 different items.
The app is pretty simple - a mostly linear storyboard (a few jumps, but no loops). The only project I am using which is not Apple's code is InAppSettingsKit, and most of the app is just maps which shows some items. The project is using ARC and currently compiled using XCode6 (but XCode5 showed the same symptoms).
How can I find these crashes? Is this in an inherent problem of IOS7-8? I do see some apps just closing up when I use the IPhone, and friends to tell me that IOS is not that stable, but ... I just think I am doing something wrong.
IOS8 70% IOS7 30%
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x36444f66 objc_msgSend + 5
1 UIKit 0x2c160b35 -[UIScrollView(UIScrollViewInternal) _delegateScrollViewAnimationEnded] + 52
2 UIKit 0x2c160ac1 -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded:finished:] + 184
3 UIKit 0x2c20a5e5 -[UIAnimator stopAnimation:] + 476
4 UIKit 0x2c209fb9 -[UIAnimator(Static) _advanceAnimationsOfType:withTimestamp:] + 304
5 UIKit 0x2c209e85 -[UIAnimator(Static) _LCDHeartbeatCallback:] + 52
6 QuartzCore 0x2bae4aeb CA::Display::DisplayLinkItem::dispatch() + 98
7 QuartzCore 0x2bae4953 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 366
8 IOMobileFramebuffer 0x303c482f IOMobileFramebufferVsyncNotifyFunc + 90
9 IOKit 0x29af01ed IODispatchCalloutFromCFMessage + 256
10 CoreFoundation 0x28b7c3a5 __CFMachPortPerform + 132
11 CoreFoundation 0x28b8c7f3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
12 CoreFoundation 0x28b8c78f __CFRunLoopDoSource1 + 346
13 CoreFoundation 0x28b8adb1 __CFRunLoopRun + 1608
14 CoreFoundation 0x28ad7b31 CFRunLoopRunSpecific + 476
15 CoreFoundation 0x28ad7943 CFRunLoopRunInMode + 106
16 GraphicsServices 0x2feb7051 GSEventRunModal + 136
17 UIKit 0x2c0cd6f1 UIApplicationMain + 1440
18 --------------- 0x000c8833 main (main.m:16)
IOS7 - 8 times
Thread : Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x2e23ef83 __exceptionPreprocess + 130
1 libobjc.A.dylib 0x389efccf objc_exception_throw + 38
2 CoreFoundation 0x2e242917 -[NSObject(NSObject) doesNotRecognizeSelector:] + 202
3 CoreFoundation 0x2e241203 ___forwarding___ + 706
4 CoreFoundation 0x2e190768 _CF_forwarding_prep_0 + 24
5 VectorKit 0x35ec6911 -[VKMapCanvas initShouldRasterize:contentScale:inBackground:] + 476
6 VectorKit 0x35ec620f -[VKMapView initWithGlobe:shouldRasterize:inBackground:] + 230
7 MapKit 0x2f3d980b -[MKBasicMapView initWithFrame:andGlobe:shouldRasterize:] + 322
8 MapKit 0x2f40cd77 -[MKMapView _commonInitAndEnableLoading:fromIB:gestureRecognizerHostView:showsAttribution:] + 878
9 MapKit 0x2f40d86b -[MKMapView initWithCoder:] + 134
10 UIKit 0x30e70169 UINibDecoderDecodeObjectForValue + 740
11 UIKit 0x30e6fe7f -[UINibDecoder decodeObjectForKey:] + 90
12 UIKit 0x30dcb5ff -[UIRuntimeConnection initWithCoder:] + 150
13 UIKit 0x30e70169 UINibDecoderDecodeObjectForValue + 740
14 UIKit 0x30e70109 UINibDecoderDecodeObjectForValue + 644
15 UIKit 0x30e6fe7f -[UINibDecoder decodeObjectForKey:] + 90
16 UIKit 0x30dcadd1 -[UINib instantiateWithOwner:options:] + 888
17 UIKit 0x30d2360b -[UIViewController _loadViewFromNibNamed:bundle:] + 234
18 UIKit 0x30b7fbcd -[UIViewController loadView] + 92
19 UIKit 0x30a602ed -[UIViewController loadViewIfRequired] + 72
20 UIKit 0x30a60269 -[UIViewController view] + 24
21 UIKit 0x30b0a14b -[UINavigationController _startTransition:fromViewController:toViewController:] + 198
22 UIKit 0x30b09dfd -[UINavigationController _startDeferredTransitionIfNeeded:] + 572
23 UIKit 0x30b09b6d -[UINavigationController __viewWillLayoutSubviews] + 44
24 UIKit 0x30b09b05 -[UILayoutContainerView layoutSubviews] + 184
25 UIKit 0x30a5bd59 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 380
26 QuartzCore 0x306d962b -[CALayer layoutSublayers] + 142
27 QuartzCore 0x306d4e3b CA::Layer::layout_if_needed(CA::Transaction*) + 350
28 QuartzCore 0x30703cdd -[CALayer layoutIfNeeded] + 140
29 UIKit 0x30ad8163 -[UIViewController window:setupWithInterfaceOrientation:] + 242
30 UIKit 0x30ad6783 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 3498
31 UIKit 0x30ad59d3 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 46
32 UIKit 0x30ad595b -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 94
33 UIKit 0x30ad58f3 -[UIWindow _setRotatableViewOrientation:duration:force:] + 42
34 UIKit 0x30acdf69 __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke + 108
35 UIKit 0x30a62107 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 382
36 UIKit 0x30ad5641 -[UIWindow setAutorotates:forceUpdateInterfaceOrientation:] + 696
37 UIKit 0x30ad5105 -[UIViewController _tryBecomeRootViewControllerInWindow:] + 164
38 UIKit 0x30a67045 -[UIWindow addRootViewControllerViewIfPossible] + 460
39 UIKit 0x30a64827 -[UIWindow _setHidden:forced:] + 302
40 UIKit 0x30ace33d -[UIWindow makeKeyAndVisible] + 60
41 UIKit 0x30acafad -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1820
42 UIKit 0x30ac556b -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 714
43 UIKit 0x30a616e9 -[UIApplication handleEvent:withNewEvent:] + 3540
44 UIKit 0x30a60851 -[UIApplication sendEvent:] + 72
45 UIKit 0x30ac4ca9 _UIApplicationHandleEvent + 616
46 GraphicsServices 0x33079aed _PurpleEventCallback + 608
47 GraphicsServices 0x330796d7 PurpleEventCallback + 34
48 CoreFoundation 0x2e209a67 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
49 CoreFoundation 0x2e209a03 __CFRunLoopDoSource1 + 346
50 CoreFoundation 0x2e2081d7 __CFRunLoopRun + 1398
51 CoreFoundation 0x2e172ebf CFRunLoopRunSpecific + 522
52 CoreFoundation 0x2e172ca3 CFRunLoopRunInMode + 106
53 UIKit 0x30ac3ed1 -[UIApplication _run] + 760
54 UIKit 0x30abf14d UIApplicationMain + 1136
55 --------------- 0x000ef833 main (main.m:16)
56 libdyld.dylib 0x38efcab7 start + 2
Another (IOS 6.1.6)
vThread : Fatal Exception: NSGenericException
0 CoreFoundation 0x31eaf2a3 __exceptionPreprocess + 162
1 libobjc.A.dylib 0x39b0b97f objc_exception_throw + 30
2 UIKit 0x3404d30f -[UIStoryboardPushSegue perform] + 1118
3 UIKit 0x33da20c5 -[UIApplication sendAction:to:from:forEvent:] + 72
4 UIKit 0x33da214d -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 120
5 UIKit 0x33da20c5 -[UIApplication sendAction:to:from:forEvent:] + 72
6 UIKit 0x33da2077 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
7 UIKit 0x33da2055 -[UIControl sendAction:to:forEvent:] + 44
8 UIKit 0x33da190b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
9 UIKit 0x33da1e01 -[UIControl touchesEnded:withEvent:] + 488
10 UIKit 0x33cca5f1 -[UIWindow _sendTouchesForEvent:] + 524
11 UIKit 0x33cb7801 -[UIApplication sendEvent:] + 380
12 UIKit 0x33cb711b _UIApplicationHandleEvent + 6154
13 GraphicsServices 0x359735a3 _PurpleEventCallback + 590
14 GraphicsServices 0x359731d3 PurpleEventCallback + 34
15 CoreFoundation 0x31e84173 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
16 CoreFoundation 0x31e84117 __CFRunLoopDoSource1 + 138
17 CoreFoundation 0x31e82f99 __CFRunLoopRun + 1384
18 CoreFoundation 0x31df5ebd CFRunLoopRunSpecific + 356
19 CoreFoundation 0x31df5d49 CFRunLoopRunInMode + 104
20 GraphicsServices 0x359722eb GSEventRunModal + 74
21 UIKit 0x33d0b301 UIApplicationMain + 1120
22 --------------- 0x00116833 main (main.m:16)
23 libdyld.dylib 0x39f42b20 start

SpriteKit crash on transitionWithView

I have several crash reports with Collection <__NSArrayM: 0x12345678> was mutated while being enumerated. However in my testing I cannot reproduce the error.
This seems be triggered via a chain of events when I transition to a different SKView.
[UIView transitionWithView:window
duration:0.8
options:UIViewAnimationOptionTransitionFlipFromBottom
animations:^{
[UIView setAnimationsEnabled:NO];
[fromView removeFromSuperview];
[window addSubview:toView];
window.rootViewController = nextViewController;
[UIView setAnimationsEnabled:YES];
}
completion:NULL];
I have read that this error can happen when you remove nodes from their parent during enumeration of child nodes but I don't believe I am doing this here, and the full stack trace below doesn't seem to indicate it either.
I don't know why [SKNode setPaused:] would cause child nodes to be added or removed, and there doesn't appear to be any indication of this happening in other threads either.
Full Stacktrace
0 CoreFoundation 0x2f896fd3 __exceptionPreprocess + 131
1 libobjc.A.dylib 0x3a37bccf objc_exception_throw + 36
2 CoreFoundation 0x2f896ad1 __NSFastEnumerationMutationHandler + 126
3 SpriteKit 0x31fb926b -[SKNode setPaused:] + 792
4 SpriteKit 0x31f95309 -[SKScene setPaused:] + 134
5 SpriteKit 0x31fa7b63 -[SKView renderCallback:] + 648
6 SpriteKit 0x31fa9301 -[SKView layoutSubviews] + 474
7 UIKit 0x320b2d79 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 378
8 QuartzCore 0x31d3062b -[CALayer layoutSublayers] + 140
9 QuartzCore 0x31d2be3b _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 348
10 QuartzCore 0x31d5acdd -[CALayer layoutIfNeeded] + 138
11 UIKit 0x3212f183 -[UIViewController window:setupWithInterfaceOrientation:] + 240
12 UIKit 0x3212d7a3 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 3496
13 UIKit 0x3212c9f3 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 44
14 UIKit 0x3212c97b -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 92
15 UIKit 0x3212c913 -[UIWindow _setRotatableViewOrientation:duration:force:] + 40
16 UIKit 0x32124f89 __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke + 106
17 UIKit 0x320b9127 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 380
18 UIKit 0x3212c661 -[UIWindow setAutorotates:forceUpdateInterfaceOrientation:] + 694
19 UIKit 0x3212c125 -[UIViewController _tryBecomeRootViewControllerInWindow:] + 162
20 UIKit 0x320be065 -[UIWindow addRootViewControllerViewIfPossible] + 458
21 UIKit 0x32124133 -[UIWindow setRootViewController:] + 760
22 the-app 0x000baf0d 0x000b2000 + 36621
23 UIKit 0x320e83c5 +[UIView(UIViewAnimationWithBlocks) _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:] + 494
24 UIKit 0x3234c3f9 +[UIView(UIViewAnimationWithBlocks) transitionWithView:duration:options:animations:completion:] + 58
25 the-app 0x000bae67 0x000b2000 + 36455
26 the-app 0x000bacf7 0x000b2000 + 36087
27 UIKit 0x320e8057 -[UIApplication sendAction:to:from:forEvent:] + 88
28 UIKit 0x320e7ff7 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 28
29 UIKit 0x320e7fd1 -[UIControl sendAction:to:forEvent:] + 42
30 UIKit 0x320d3737 -[UIControl _sendActionsForEvents:withEvent:] + 372
31 UIKit 0x320e7a4f -[UIControl touchesEnded:withEvent:] + 588
32 UIKit 0x320e7721 -[UIWindow _sendTouchesForEvent:] + 526
33 UIKit 0x320e26eb -[UIWindow sendEvent:] + 756
34 UIKit 0x320b78ed -[UIApplication sendEvent:] + 194
35 UIKit 0x320b5f97 _UIApplicationHandleEventQueue + 7100
36 CoreFoundation 0x2f86225b __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
37 CoreFoundation 0x2f86172b __CFRunLoopDoSources0 + 204
38 CoreFoundation 0x2f85ff1f __CFRunLoopRun + 620
39 CoreFoundation 0x2f7caf0f CFRunLoopRunSpecific + 520
40 CoreFoundation 0x2f7cacf3 CFRunLoopRunInMode + 104
41 GraphicsServices 0x346c4663 GSEventRunModal + 136
42 UIKit 0x3211616d UIApplicationMain + 1134
43 the-app 0x000b9267 0x000b2000 + 29287
44 libdyld.dylib 0x3a888ab7 start + 0

How to find the line of the crash?

I have some beginner trouble using xCode. Each time the app crash I find it hard to find the problem as I don't understand the log currently I seem to have a problem with a Array. I think it is a Array of which I deleted the class where it was in.
I would like to know how I should read this log :
2014-05-02 10:49:32.808 myCompany[2793:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
*** First throw call stack:
(
0 CoreFoundation 0x017f21e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x015718e5 objc_exception_throw + 44
2 CoreFoundation 0x017a4abc -[__NSArrayM insertObject:atIndex:] + 844
3 CoreFoundation 0x017a4760 -[__NSArrayM addObject:] + 64
4 UIKit 0x00794a4b PushNextClassForSettingIMP + 383
5 UIKit 0x00794838 __workaround10030904InvokeWithTarget_block_invoke + 29
6 UIKit 0x00284413 +[UIView _performCustomizableAppearanceModifications:] + 26
7 UIKit 0x00794810 workaround10030904InvokeWithTarget + 940
8 UIKit 0x0078ee71 +[_UIAppearance _applyInvocationsTo:window:matchingSelector:] + 3779
9 UIKit 0x0078f633 +[_UIAppearance _applyInvocationsTo:window:] + 55
10 UIKit 0x0029b5a3 -[UIView(Internal) _applyAppearanceInvocations] + 270
11 UIKit 0x0029c002 __88-[UIView(Internal) _performUpdatesForPossibleChangesOfIdiom:orScreen:traverseHierarchy:]_block_invoke + 65
12 UIKit 0x0029bf8f -[UIView(Internal) _performUpdatesForPossibleChangesOfIdiom:orScreen:traverseHierarchy:] + 204
13 UIKit 0x0029bebe -[UIView(Internal) _didChangeFromIdiom:onScreen:traverseHierarchy:] + 52
14 UIKit 0x003f44b7 -[UILabel(_UIAccessibilityButtonShapesSupportInternal) _didChangeFromIdiom:onScreen:traverseHierarchy:] + 73
15 UIKit 0x004ed776 -[UITabBarButtonLabel _didChangeFromIdiom:onScreen:traverseHierarchy:] + 73
16 UIKit 0x0029be82 -[UIView(Internal) _didChangeFromIdiomOnScreen:traverseHierarchy:] + 172
17 UIKit 0x0029b466 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1624
18 UIKit 0x0029b109 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 763
19 UIKit 0x00334458 -[UIControl _didMoveFromWindow:toWindow:] + 65
20 UIKit 0x0029b109 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 763
21 UIKit 0x004fad59 -[UITabBar(UITabBarPrivate) _didMoveFromWindow:toWindow:] + 65
22 UIKit 0x0029b109 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 763
23 UIKit 0x0029296f __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 158
24 UIKit 0x002927fb -[UIView(Hierarchy) _postMovedFromSuperview:] + 260
25 UIKit 0x0029ddd4 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1875
26 UIKit 0x00290dba -[UIView(Hierarchy) addSubview:] + 56
27 UIKit 0x00270406 -[UIWindow addRootViewControllerViewIfPossible] + 481
28 UIKit 0x002705ef -[UIWindow _setHidden:forced:] + 312
29 UIKit 0x0027086b -[UIWindow _orderFrontWithoutMakingKey] + 49
30 UIKit 0x0027b3c8 -[UIWindow makeKeyAndVisible] + 65
31 UIKit 0x0022bbc0 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 2097
32 UIKit 0x00230667 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 824
33 UIKit 0x00244f92 -[UIApplication handleEvent:withNewEvent:] + 3517
34 UIKit 0x00245555 -[UIApplication sendEvent:] + 85
35 UIKit 0x00232250 _UIApplicationHandleEvent + 683
36 GraphicsServices 0x037e7f02 _PurpleEventCallback + 776
37 GraphicsServices 0x037e7a0d PurpleEventCallback + 46
38 CoreFoundation 0x0176dca5 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
39 CoreFoundation 0x0176d9db __CFRunLoopDoSource1 + 523
40 CoreFoundation 0x0179868c __CFRunLoopRun + 2156
41 CoreFoundation 0x017979d3 CFRunLoopRunSpecific + 467
42 CoreFoundation 0x017977eb CFRunLoopRunInMode + 123
43 UIKit 0x0022fd9c -[UIApplication _run] + 840
44 UIKit 0x00231f9b UIApplicationMain + 1225
45 myCompany 0x000043fd main + 141
46 libdyld.dylib 0x01e39701 start + 1
)
EDIT :
this caused the problem :
UIImage *tabBackground = [[UIImage imageNamed:#"image.PNG"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UITabBarItem appearance] setImage:tabBackground];
Still I don't understand why it can't just display the line of error like android. I found this by comment lining
I think you must follow up this tutorial, clearly mentioning about this
http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1
According to your log details,
You are trying to create array with nil objects.
Trying to insert nil object to array
both above will crash the app.
Enable zombies
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
You forgot to add nil at last index in array creation.
like this
NSArray *array = [NSArray arrayWithObjects:#"1",#"2"]; 
But it should be
NSArray *array = [NSArray arrayWithObjects:#"1",#"2",nil]; 
But If you are using NSMutableArray and add objects,then u should valid to nil condition like below.
if (myObjectToBeAddedToArray!=nil) {
[arrayMutable addObject:myObjectToBeAddedToArray];
}

Autorotation crash in iOS

I am getting abnormal termination (crash) with the App which I am working with when I am changing the device orientation. I am unable to reproduce it so often (it's not happening always when I am rotating, let's say the chance would be some where around 0.01%), but it's a serious problem. I am attaching an important part of a crash report.
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x6563616e
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x3233a5b0 objc_msgSend + 16
1 UIKit 0x36297b82 -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 1546
2 UIKit 0x3628301e -[UITableViewRowData rectForFooterInSection:] + 310
3 UIKit 0x3628358c -[UITableViewRowData heightForTable] + 48
4 UIKit 0x36283400 -[UITableView(_UITableViewPrivate) _updateContentSize] + 324
5 UIKit 0x362cc8b4 -[UITableView _rectChangedWithNewSize:oldSize:] + 252
6 UIKit 0x362cc544 -[UITableView setFrame:] + 220
7 UIKit 0x362c59c4 -[UIView(Geometry) _applyAutoresizingMaskWithOldSuperviewSize:] + 644
8 UIKit 0x362c572e -[UIView(Geometry) _resizeWithOldSuperviewSize:] + 262
9 UIKit 0x3644eb2a -[UIScrollView _resizeWithOldSuperviewSize:] + 38
10 CoreFoundation 0x35b63aec __NSArrayChunkIterate + 360
11 CoreFoundation 0x35b5ca74 __NSArrayEnumerate + 608
12 CoreFoundation 0x35abeb66 -[NSArray enumerateObjectsWithOptions:usingBlock:] + 58
13 UIKit 0x3627e09e -[UIView(Geometry) resizeSubviewsWithOldSize:] + 114
14 UIKit 0x36263ba2 -[UIView(Geometry) setFrame:] + 414
15 UIKit 0x362c59c4 -[UIView(Geometry) _applyAutoresizingMaskWithOldSuperviewSize:] + 644
16 UIKit 0x362c572e -[UIView(Geometry) _resizeWithOldSuperviewSize:] + 262
17 CoreFoundation 0x35b63aec __NSArrayChunkIterate + 360
18 CoreFoundation 0x35b5ca74 __NSArrayEnumerate + 608
19 CoreFoundation 0x35abeb66 -[NSArray enumerateObjectsWithOptions:usingBlock:] + 58
20 UIKit 0x3627e09e -[UIView(Geometry) resizeSubviewsWithOldSize:] + 114
21 UIKit 0x36263ba2 -[UIView(Geometry) setFrame:] + 414
22 UIKit 0x362a6dc0 -[UIViewControllerWrapperView setFrame:] + 48
23 UIKit 0x362c59c4 -[UIView(Geometry) _applyAutoresizingMaskWithOldSuperviewSize:] + 644
24 UIKit 0x362c572e -[UIView(Geometry) _resizeWithOldSuperviewSize:] + 262
25 CoreFoundation 0x35b63aec __NSArrayChunkIterate + 360
26 CoreFoundation 0x35b5ca74 __NSArrayEnumerate + 608
27 CoreFoundation 0x35abeb66 -[NSArray enumerateObjectsWithOptions:usingBlock:] + 58
28 UIKit 0x3627e09e -[UIView(Geometry) resizeSubviewsWithOldSize:] + 114
29 UIKit 0x36263ba2 -[UIView(Geometry) setFrame:] + 414
30 UIKit 0x362c59c4 -[UIView(Geometry) _applyAutoresizingMaskWithOldSuperviewSize:] + 644
31 UIKit 0x362c572e -[UIView(Geometry) _resizeWithOldSuperviewSize:] + 262
32 CoreFoundation 0x35b63aec __NSArrayChunkIterate + 360
33 CoreFoundation 0x35b5ca74 __NSArrayEnumerate + 608
34 CoreFoundation 0x35abeb66 -[NSArray enumerateObjectsWithOptions:usingBlock:] + 58
35 UIKit 0x3627e09e -[UIView(Geometry) resizeSubviewsWithOldSize:] + 114
36 UIKit 0x362c64ae -[UIView(Geometry) setBounds:] + 430
37 UIKit 0x3634ff32 -[UILayoutContainerView setBounds:] + 58
38 UIKit 0x363edd88 -[UIViewController window:willAnimateRotationToInterfaceOrientation:duration:] + 460
39 UIKit 0x3630e2b0 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 3616
40 UIKit 0x3630d482 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 42
41 UIKit 0x3630d40c -[UIWindow _setRotatableViewOrientation:duration:force:] + 64
42 UIKit 0x3644317c __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke_0 + 100
43 UIKit 0x362cb676 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 214
44 UIKit 0x362d4d20 -[UIWindow _updateInterfaceOrientationFromDeviceOrientation:] + 176
45 CoreFoundation 0x35ab9034 _CFXNotificationPost + 1424
46 Foundation 0x3721bd8c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
47 UIKit 0x36268c60 -[UIDevice setOrientation:animated:] + 292
48 UIKit 0x362633d6 -[UIApplication handleEvent:withNewEvent:] + 2954
49 UIKit 0x362626c8 -[UIApplication sendEvent:] + 68
50 UIKit 0x36262116 _UIApplicationHandleEvent + 6150
51 GraphicsServices 0x318885a0 _PurpleEventCallback + 588
52 GraphicsServices 0x318881ce PurpleEventCallback + 30
53 CoreFoundation 0x35b3d170 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
54 CoreFoundation 0x35b3d112 __CFRunLoopDoSource1 + 134
55 CoreFoundation 0x35b3bf94 __CFRunLoopRun + 1380
56 CoreFoundation 0x35aaeeb8 CFRunLoopRunSpecific + 352
57 CoreFoundation 0x35aaed44 CFRunLoopRunInMode + 100
58 GraphicsServices 0x318872e6 GSEventRunModal + 70
59 UIKit 0x362b62f4 UIApplicationMain + 1116
Neither thread activities are involved nor ViewControllers are customized. Moreover, I am using ARC.
I would like to know either the exact cause of reason or the possibilities which would lead to a crash while autorotation is taking place.
Thanks in advance...
I think app sends a message to an deallocated object. Yes, sometimes it happens even if when you use ARC. To debug it you need to run your app with Instruments (Zombies) and try to reproduce the bug.
Enabling Zombies and debugging the App with Instruments (Zombies) has really helped to locate the error. But to fix the bug or avoid the same mistake in the future is really important.
In my code, I had an implementation something like this...
- (void)someMethod {
[self.navigationController pushViewController:[DestinationViewController new] animated:YES];
}
there we are not holding the DestinationViewController's strong reference directly. But the change...
#property (strong, nonatomic) DestinationViewController *dvc;
// ....
- (void)someMethod {
self.dvc = [DestinationViewController new];
[self.navigationController pushViewController:self.dvc animated:YES];
}
has helped to avoid the bug. I can't really explane why...??? but I hope changing the device orientation releses DestinationViewController but which can be avoided by holding the strong reference.

iOS 6 crashing with iAD

This app was released sevearl months ago and worked perfectly in iOS 4/5. Now getting crashes in some screens in iOS 6.
Fairly easy implementation. Have an AdBannerView in a xib. I wired it to the delagate. Have my delagate methods showing/hiding the ads. Here's the crash data.
Exception Type: EXC_CRASH (SIGABRT)
Last Exception Backtrace:
0 CoreFoundation 0x36d9b29e __exceptionPreprocess + 158
1 libobjc.A.dylib 0x350ab97a objc_exception_throw + 26
2 CoreFoundation 0x36cec55a -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 130
3 CoreFoundation 0x36d230ce +[NSDictionary dictionaryWithObjects:forKeys:count:] + 46
4 iAd 0x3594c23e -[ADBannerView setDelegate:] + 126
5 Foundation 0x347b49cc -[NSObject(NSKeyValueCoding) setValue:forKey:] + 208
6 UIKit 0x382101dc -[UIView(CALayerDelegate) setValue:forKey:] + 156
7 Foundation 0x347b071e -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 294
8 CoreFoundation 0x36d21616 -[NSArray makeObjectsPerformSelector:] + 174
9 UIKit 0x38209240 -[UINib instantiateWithOwner:options:] + 1036
10 UIKit 0x38208abe -[UIViewController _loadViewFromNibNamed:bundle:] + 230
11 UIKit 0x38101020 -[UIViewController loadView] + 88
12 UIKit 0x3808b468 -[UIViewController loadViewIfRequired] + 64
13 UIKit 0x380e0136 -[UIViewController contentScrollView] + 22
14 UIKit 0x380e007c -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 24
15 UIKit 0x380dff60 -[UINavigationController _layoutViewController:] + 28
16 UIKit 0x380dfe84 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 268
17 UIKit 0x380df5c4 -[UINavigationController _startTransition:fromViewController:toViewController:] + 60
18 UIKit 0x380df4ac -[UINavigationController _startDeferredTransitionIfNeeded:] + 320
19 UIKit 0x380cdb8e -[UINavigationController pushViewController:transition:forceImmediate:] + 854
20 UIKit 0x380cd82e -[UINavigationController pushViewController:animated:] + 34
21 Hurricane 0x00002d9a -[TrackerViewController buttonPressed:] (TrackerViewController.m:111)
22 UIKit 0x381570a8 -[UIApplication sendAction:to:from:forEvent:] + 68
23 UIKit 0x3815705a -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
24 UIKit 0x38157038 -[UIControl sendAction:to:forEvent:] + 40
25 UIKit 0x381568ee -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498
26 UIKit 0x38156de4 -[UIControl touchesEnded:withEvent:] + 484
27 UIKit 0x3807f5f4 -[UIWindow _sendTouchesForEvent:] + 520
28 UIKit 0x3806c804 -[UIApplication sendEvent:] + 376
29 UIKit 0x3806c11e _UIApplicationHandleEvent + 6150
30 GraphicsServices 0x3721f59e _PurpleEventCallback + 586
31 GraphicsServices 0x3721f1ce PurpleEventCallback + 30
32 CoreFoundation 0x36d7016e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30
33 CoreFoundation 0x36d70112 __CFRunLoopDoSource1 + 134
34 CoreFoundation 0x36d6ef94 __CFRunLoopRun + 1380
35 CoreFoundation 0x36ce1eb8 CFRunLoopRunSpecific + 352
36 CoreFoundation 0x36ce1d44 CFRunLoopRunInMode + 100
37 GraphicsServices 0x3721e2e6 GSEventRunModal + 70
38 UIKit 0x380c02fc UIApplicationMain + 1116
39 Hurricane 0x00002082 main (main.m:14)
40 Hurricane 0x0000203c start + 36
If I unwire the AdBannerView it works. Rewire and crash. I don't have any dictioniaries in this particular controller. In fact, it only has 6 buttons leading to other screens. The real strange thing is that the code is used elsewhere in other screens which work fine. Obviously, it worked fine before.
Let me clear you, In iOS 6, there are some properties and methods deprecated for AdBannerView . i think this should be the reason of your crash.
Please check this
http://developer.apple.com/library/ios/DOCUMENTATION/UserExperience/Reference/ADBannerView_Ref/Reference/Reference.html#//apple_ref/doc/uid/TP40009562-CH1-DontLinkElementID_9

Resources