13

I am testing my app out, pushing it pretty hard, and I'm getting it to crash (black screen, image doesn't save, drops back to springboard). However, I get no crash reports logged in the console. When I test using profiler all I get is a message saying the target died, but it gives no clues.

In the organiser I got the device crash logs which gives me this which I believe is telling me I'm sending a message to something I've released (objc-msgSend + 22)? Am I on the right track here?

---

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x576e6f69
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x34f8ef7e objc_msgSend + 22
1   CoreFoundation                  0x371d7e90 CFRetain + 76
2   CoreFoundation                  0x371e1b74 +[__NSArrayI __new::] + 48
3   CoreFoundation                  0x371e1a8e -[__NSPlaceholderArray initWithObjects:count:] + 294
4   CoreFoundation                  0x371e9394 -[NSArray initWithArray:range:copyItems:] + 756
5   CoreFoundation                  0x371fcd5a +[NSArray arrayWithArray:] + 66
6   AVFoundation                    0x335da766 -[AVCaptureSession outputs] + 146
7   AVFoundation                    0x335de26e -[AVCaptureSession _doDidStop:] + 38
8   AVFoundation                    0x335dfaea -[AVCaptureSession _handleNotification:payload:] + 2002
9   AVFoundation                    0x335d8af6 avcaptureSessionFigRecorderNotification + 1202
10  AVFoundation                    0x335fafd8 AVCMNotificationDispatcherCallback + 184
11  CoreFoundation                  0x3725b7c8 __CFNotificationCenterAddObserver_block_invoke_0 + 116
12  CoreFoundation                  0x3725b540 ___CFXNotificationPost_block_invoke_0 + 64
13  CoreFoundation                  0x371e7090 _CFXNotificationPost + 1400
14  CoreFoundation                  0x371ef1c6 CFNotificationCenterPostNotification + 102
15  CoreMedia                       0x366eeeb0 CMNotificationCenterPostNotification + 112
16  Celestial                       0x374b08a2 FigRecorderRemoteCallbacksServer_NotificationIsPending + 478
17  Celestial                       0x374b06ba _XNotificationIsPending + 54
18  Celestial                       0x374b0678 figrecordercallbacks_server + 92
19  Celestial                       0x374af642 remrec_ClientPortCallBack + 146
20  CoreFoundation                  0x37258f0c __CFMachPortPerform + 356
21  CoreFoundation                  0x3726351c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
22  CoreFoundation                  0x372634be __CFRunLoopDoSource1 + 134
23  CoreFoundation                  0x3726230c __CFRunLoopRun + 1364
24  CoreFoundation                  0x371e549e CFRunLoopRunSpecific + 294
25  CoreFoundation                  0x371e5366 CFRunLoopRunInMode + 98
26  AVFoundation                    0x335ef4d0 -[AVRunLoopCondition _waitInMode:untilDate:] + 348
27  AVFoundation                    0x335ef36c -[AVRunLoopCondition waitUntilDate:inMode:] + 20
28  AVFoundation                    0x335dc13a -[AVCaptureSession _stopPreviewing] + 438
29  AVFoundation                    0x335dc2d6 -[AVCaptureSession _setRunning:] + 166
30  AVFoundation                    0x335dbe42 -[AVCaptureSession stopRunning] + 274
31  zApp                            0x0007e1ce 0x79000 + 20942
32  UIKit                           0x30fa5b8e -[UIViewController _setViewAppearState:isAnimating:] + 138
33  UIKit                           0x30fff8a8 -[UIViewController beginAppearanceTransition:animated:] + 184
34  UIKit                           0x310468be -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] + 4098
35  UIKit                           0x31045360 -[UIViewController presentViewController:withTransition:completion:] + 3116
36  UIKit                           0x310a06a0 -[UIViewController presentModalViewController:animated:] + 24
37  CoreFoundation                  0x371e93f6 -[NSObject performSelector:withObject:withObject:] + 46
38  UIKit                           0x30f7ee00 -[UIApplication sendAction:to:from:forEvent:] + 56
39  UIKit                           0x30f7edbc -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 24
40  UIKit                           0x30f7ed9a -[UIControl sendAction:to:forEvent:] + 38
41  UIKit                           0x30f7eb0a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 486
42  UIKit                           0x30f7f442 -[UIControl touchesEnded:withEvent:] + 470
43  UIKit                           0x30f7d924 -[UIWindow _sendTouchesForEvent:] + 312
44  UIKit                           0x30f7d312 -[UIWindow sendEvent:] + 374
45  UIKit                           0x30f6368e -[UIApplication sendEvent:] + 350
46  UIKit                           0x30f62f34 _UIApplicationHandleEvent + 5820
47  GraphicsServices                0x339a5224 PurpleEventCallback + 876
48  CoreFoundation                  0x3726351c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
49  CoreFoundation                  0x372634be __CFRunLoopDoSource1 + 134
50  CoreFoundation                  0x3726230c __CFRunLoopRun + 1364
51  CoreFoundation                  0x371e549e CFRunLoopRunSpecific + 294
52  CoreFoundation                  0x371e5366 CFRunLoopRunInMode + 98
53  GraphicsServices                0x339a4432 GSEventRunModal + 130
54  UIKit                           0x30f91cce UIApplicationMain + 1074
55  zApp                            0x0007ffa6 0x79000 + 28582
56  zApp                            0x0007a680 0x79000 + 5760
mrEmpty
  • 841
  • 4
  • 19
  • 36
  • Hard to say.... Maybe post some code related to stack frames 15 and 16. I'm assuming "Celestial" is your code and it's calling or triggering `CMNotificationCenterPostNotification` where things start to go wrong. – Phillip Mills Jun 05 '12 at 11:46
  • 1
    `Celestial` is not the apps code, `zApp` lines 31, 55, 56 are. Line 31 is the interesting one, Xcode should symbolicate that too if you have the dSYM of that exact binary. It appears to be invoked when showing a modal view which causes `AVCaptureScreen` to stop running. Most likely a memory leak or zombie. Us the hints from belows answer from Kreiri. – Kerni Jun 05 '12 at 13:13

2 Answers2

8
  1. If you suspect that you are overreleasing something, try running your app with NSZombie enabled. (how to enable NSZombie)

  2. You can set exception breakpoint to print backtrace in console.

Community
  • 1
  • 1
Kreiri
  • 7,840
  • 5
  • 30
  • 36
6

sometimes that happens when you set an object as an observer for notifications, like

[[NSNotificationCenter defaultCenter] addObserver //details

and don't remove it from the observers list when it's released.
the system tries to send a message to it, and the app crashes because it's not there.

try adding

[[NSNotificationCenter defaultCenter] removeObserver:self];

in the dealloc function.
(even if you're working with arc, create a dealloc function, and write that in it).

good luck

eiran
  • 1,378
  • 15
  • 16
  • I have added [[NSNotificationCenter defaultCenter] removeObserver:self]; with almost every class where there is observer added. I hope it will work. – Itesh Dec 01 '14 at 11:59
  • cross fingers:) you might wanna consider using completion blocks instead, if it's possible.. they are more stable. – eiran Dec 01 '14 at 12:34
  • glad i could be of service:)) – eiran Aug 28 '18 at 23:02