I received a crash report from Crashlytics today and can't figure out what the problem is. My app has been live for months without issue, so this appears to be a one off.
The crash is Exception Type EXC_BREAKPOINT Code UNKNOWN at 0xdefe
1 UIKit _shadowImageInRectForSlice + 258
2 UIKit _shadowImageInRectForSlice + 258
3 UIKit -[UIActionSheet(Private) layout] + 3586
4 UIKit -[UIActionSheet(Private) presentSheetInView:] + 268
5 myapp GraphViewController.m line 135
-[GraphViewController graphButtonPressed:] + 135
6 UIKit -[UIApplication sendAction:to:from:forEvent:] + 72
7 UIKit -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 120
8 UIKit -[UIApplication sendAction:to:from:forEvent:] + 72
9 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
10 UIKit -[UIControl sendAction:to:forEvent:] + 44
11 UIKit -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
12 UIKit -[UIControl touchesEnded:withEvent:] + 488
13 UIKit -[UIWindow _sendTouchesForEvent:] + 524
14 UIKit -[UIApplication sendEvent:] + 380
15 UIKit _UIApplicationHandleEvent + 6154
16 GraphicsServices _PurpleEventCallback + 590
17 GraphicsServices PurpleEventCallback + 34
18 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
19 CoreFoundation __CFRunLoopDoSource1 + 138
20 CoreFoundation __CFRunLoopRun + 1384
21 CoreFoundation CFRunLoopRunSpecific + 356
22 CoreFoundation CFRunLoopRunInMode + 104
23 GraphicsServices GSEventRunModal + 74
24 UIKit UIApplicationMain + 1120
25 myapp main.m line 16
main + 16
Now line 135 of the ViewController it simply [actionSheet showInView:self.view];
for a UIActionSheet
The crash occurred on an iPad2.5 (Not sure which model that is) but my app is iPhone only, so would have been windowed. And iOS 6.1
The other thing to note, is the device was Jailbroken. Could this have caused the crash? I know they could have installed any kind of plugin to manipulate views.
----------ADDITIONAL----------
Whilst writing this, I received a 2nd crash report and it appears to be from a different user as this time it's iOS 5.1.1 on an iPhone4.1. This phone was also jailbroken.
Exception Type EXC_BAD_ACCESS Code KERN_INVALID_ADDRESS at 0x4003109b
0 libobjc.A.dylib objc_msgSend + 15
1 UIKit -[UIActionSheet(Private) _buttonClicked:] + 250
2 CoreFoundation -[NSObject performSelector:withObject:withObject:] + 52
3 UIKit -[UIApplication sendAction:to:from:forEvent:] + 62
4 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
5 UIKit -[UIControl sendAction:to:forEvent:] + 44
6 UIKit -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 492
7 UIKit -[UIControl touchesEnded:withEvent:] + 476
8 UIKit -[UIWindow _sendTouchesForEvent:] + 318
9 UIKit -[UIWindow sendEvent:] + 380
10 UIKit -[UIApplication sendEvent:] + 356
11 UIKit _UIApplicationHandleEvent + 5826
12 GraphicsServices PurpleEventCallback + 882
13 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
14 CoreFoundation __CFRunLoopDoSource1 + 140
15 CoreFoundation __CFRunLoopRun + 1370
16 CoreFoundation CFRunLoopRunSpecific + 300
17 CoreFoundation CFRunLoopRunInMode + 104
18 GraphicsServices GSEventRunModal + 136
19 UIKit UIApplicationMain + 1080
20 myapp main.m line 16
main + 16
This one doesn't even show which ViewController
caused the crash!
Any ideas please?
Please note that this kind of stuff is very hard to debug, especially without the code and any other context than this crashlogs. I'll try to give some directions/thing I would do.
First of iPad 2,5 seems to be the iPad mini WiFi, but I'm not entirely sure about this. So test your App on an iPad mini (also test on an device with iOS 5.1.1) and see what happens, focus on UIActionSheet
instances you use and start testing in the GraphViewController
. Make sure all cases you can think of work correctly.
If that works and these are the only 2 crashreports you've got: Don't panic! I don't know how many users your App has, but only 2 of them had this crash once. You say they probably jailbroken their devices, they know Apps can crash because of that.
With that in mind decide if it's worth the time and effort to put more time into solving this problem.
If it is you could look at objects or blocks that could be released during the use of a UIActionSheet
instance, EXC_BAD_ACCESS
basically says 'OMG, the object we must use is gone!'.
EXC_BREAKPOINT
most of the times tells you that you're referencing a symbol or framework which doesn't exist. That could be because the phone is jailbroken or because you say you're App is compatible with iOS version X but you're using frameworks/methods that are only available in more recent version. So check for that also.
I hope this way you find some suspicious code and be able to post that here on StackOverflow or you can solve the issue yourself.
Hope this gives a little help in the right direction, but, once again, only a crashreport without the code or the ability to do some testing is not much to go on...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With