32

My application crashes each and every time I try to step over a call. Without debugger it works fine.

Also, when I run the app in simulator it woks fine with or without debugger.

Recently I upgraded my Mac OS X 10.8 to 10.9 (Mavericks). There were no issues before the upgrade.

What causes the issue and how could I fix it?

Below is the back trace. My app uses ARC. I have enabled zombies and added exception breakpoint but no zombies where detected and exception breakpoint is never triggered.

    * thread #1: tid = 0x2503, 0x00000000, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
        frame #0: 0x00000000
        frame #1: 0x35e170c4 UIKit`-[UIApplication sendAction:to:from:forEvent:] + 72
        frame #2: 0x35e17076 UIKit`-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
        frame #3: 0x35e17054 UIKit`-[UIControl sendAction:to:forEvent:] + 44
        frame #4: 0x35e1690a UIKit`-[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
        frame #5: 0x35e16e00 UIKit`-[UIControl touchesEnded:withEvent:] + 488
        frame #6: 0x35d3f5f0 UIKit`-[UIWindow _sendTouchesForEvent:] + 524
        frame #7: 0x35d2c800 UIKit`-[UIApplication sendEvent:] + 380
        frame #8: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154
        frame #9: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590
        frame #10: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34
        frame #11: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
        frame #12: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138
        frame #13: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384
        frame #14: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356
        frame #15: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104
        frame #16: 0x37a1d2ea GraphicsServices`GSEventRunModal + 74
        frame #17: 0x35d80300 UIKit`UIApplicationMain + 1120
        frame #18: 0x000faac8 MyApp`main(argc=1, argv=0x2fd0fd08) + 116 at main.m:16

EDIT:

I have latest Xcode Version 5.0.1 (5A2053).

I have created new app from scratch and ran it without issues. Then I put a breakpoint in ViewController's viewDidLoad and tried to step over. Here I got another crash

* thread #1: tid = 0x2503, 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x4)
    frame #0: 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4
    frame #1: 0x000b913a test`-[ViewController viewDidLoad](self=0x1cda5c70, _cmd=0x361bd5db) + 62 at ViewController.m:19
    frame #2: 0x35d4b594 UIKit`-[UIViewController loadViewIfRequired] + 364
    frame #3: 0x35d8bd78 UIKit`-[UIWindow addRootViewControllerViewIfPossible] + 64
    frame #4: 0x35d87aec UIKit`-[UIWindow _setHidden:forced:] + 364
    frame #5: 0x35dc91e8 UIKit`-[UIWindow makeKeyAndVisible] + 60
    frame #6: 0x35d8c83e UIKit`-[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1666
    frame #7: 0x35d8484a UIKit`-[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 698
    frame #8: 0x35d2cc38 UIKit`-[UIApplication handleEvent:withNewEvent:] + 1004
    frame #9: 0x35d2c6cc UIKit`-[UIApplication sendEvent:] + 72
    frame #10: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154
    frame #11: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590
    frame #12: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34
    frame #13: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
    frame #14: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138
    frame #15: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384
    frame #16: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356
    frame #17: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104
    frame #18: 0x35d83484 UIKit`-[UIApplication _run] + 668
    frame #19: 0x35d80300 UIKit`UIApplicationMain + 1120
    frame #20: 0x000b93bc test`main(argc=1, argv=0x2fd51d30) + 116 at main.m:16
    frame #21: 0x3bfd9b20 libdyld.dylib`start + 4

EDIT 2:

Greg Clayton in the XCode 5 Crashes while running the app on device suggests following

Others have seen this issue.
A few things to try:
1 - Reboot your device and try again. The theory is an old developer disk image is already mounted and won't be unmounted until you reboot.
2 - Re-install the OS on the device

Hopefully #1 fixes your issue. Others have done #2 and had their issue fixed, but hopefully it doesn't require an OS re-install.

I did both and it didn't help.

I tried to use another device and it made a difference. Exceptions are still there if I use iPod Touch with iOS 6.1 but iPad with iOS 7.0.2 works fine.

So, it looks like the issue is related to the iOS version installed on the device. I am still not sure what to do to fix it.

EDIT 3:

My Command Line Tools version matches my Xcode version (I have only one version of Command Line Tools, actually).

The issues is probably not related to the code being debugged. It crashes with newly created Single View Application created by Xcode. And it crashes when stepping over trivial code:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

I have asked on Apple Developer Forum and got following response from Jason Molenda:

We're tracking a bug that sounds like what you're seeing here. It is a subtle timing issue that requires a slightly slower host machine or a slightly slower device to hit. It is primarily iPhone 4 and similar that will see this with iOS 7. With iOS 6, iPhone 4 and iPhone 3GS devices are most likely to experience it. ... This issue will only happen with Xcode 5.0.1.

So, it seems like it's a bug in Xcode.

Bobrovsky
  • 13,789
  • 19
  • 80
  • 130
  • Have you updated to the latest Xcode version as well? – DarkDust Oct 25 '13 at 07:17
  • @DarkDust yes, I did. – Bobrovsky Oct 25 '13 at 07:18
  • 1
    I guess you'll have a better chance at getting an answer on the Apple developer forums, sometimes Apple engineers can help. I doubt normal developers will be of help with this issue. – DarkDust Oct 25 '13 at 07:21
  • Same thing happens to me. Except I get no stacktrace. I tried enabling zombies... but I get nothing. – Fervus Oct 25 '13 at 08:05
  • @Bobrovsky Have you confirmed that the command line tools match with the version of Xcode you are running? – Tommie C. Oct 25 '13 at 12:52
  • @TommieC. nope, I didn't do that (don't know how) – Bobrovsky Oct 25 '13 at 13:24
  • @Bobrovsky Xcode > Preferences > Locations > Command Line Tools. It's a drop down menu. Make sure the version matches with the Xcode you are using. – Tommie C. Oct 25 '13 at 13:38
  • I can confirm that my Command Line Tools version matches my Xcode version. I have rebooted both my iPhone running iOS 6 and my Mac running Mavericks, I also reinstalled Xcode 5, but nothing solved the issue: I still get EXC_BAD_ACCESS when I step over a breakpoint. This does not happen on an iPod running iOS 7 nor on the simulator. Everything was working fine before upgrading to Mavericks. Is there a way to reinstall iOS 6 (6, not 7, I need it for testing purposes) on my iPhone? Any other possible solutions? – gabrielmaldi Oct 27 '13 at 02:05
  • @Bobrovsky - to isolate the problem try this: start a new project and confirm it runs ok. can you share the code in viewdidload? The compiler thinks you are referencing something that is not allocated in memory. – Tommie C. Oct 27 '13 at 12:06
  • @TommieC. I have updated my question with more information. – Bobrovsky Oct 28 '13 at 04:58
  • @Bobrovsky Cool, glad to see that it was answered. Suggest you create a separate answer with details and accept it so others facing the issue can find the solution. – Tommie C. Oct 28 '13 at 05:28

3 Answers3

23

Ok, this is definitely a bug in Xcode 5.0.1.

This is confirmed by Jason Molenda on Apple Developer Forum. The only workaround for now is to use older version of Xcode and the older version of Mac OS X because Xcode 5 requires OS X 10.8.4.

There is no announced ETA for a fix for this issue. Direct question about ETA on Apple Developer Forum is left without answer.

UPDATE 06-Nov-2013:

Today a pre-release version of Xcode 5.0.2 became available on developer.apple.com. This version fixes (among other things) the following issue:

Debugging an application on a device running iOS 6.x causes the application to crash with EXC_BAD_ACCESS.  This has been resolved. (15310896)

I have installed the new version and the issue is indeed gone. Now I am able to debug apps on my 6.x devices again.

Jason Molenda in thread on Apple Developer Forum said:

I'm told you can submit apps to the app store with this Xcode 5.0.2 seed.

Bobrovsky
  • 13,789
  • 19
  • 80
  • 130
  • 2
    This has been fixed in the latest seed release of Xcode (5.0.2). "Debugging an application on a device running iOS 6.x causes the application to crash with EXC_BAD_ACCESS.  This has been resolved. (15310896)" – Jameo Nov 06 '13 at 03:39
3

I confirm I have exactly same bug. My App worked fine. After upgrade to Xcode 5 and Mavericks code work but when I debug I can't Step Over certain lines as I get EXC_BAD_ACCESS.

So I have to remember lines that I can't pass with Step Over and put break point after these lines or use Continue to Line to jump over these problematic lines.

PS

Downloaded Xcode 5.0.2 GM seed and debugging is much better. I spent 30 minutes with new Xcode so far.

Max
  • 6,286
  • 5
  • 44
  • 86
3

Please login developer site and download the Xcode 5.0.2 GM seed, it fixed this bug.
See the release notes.

Update 12-Nov-2013
Xcode 5.0.2 has released, you can download it from Dev Center

Community
  • 1
  • 1
Vincent Sit
  • 2,214
  • 1
  • 24
  • 27