iOS app crashing every other launch, can't find error

IosXcodeCrashIos SimulatorSigabrt

Ios Problem Overview


First time I launch the app, everything seems to run fine. I'll hit the stop button, do some work and when I go to launch it again, it seems to crash before it can even load anything. Press stop, hit Run again, and it works fine. Until I repeat the process.

This is where xcode is highlighting the error with "Thread 1:signal SIGABRT". Obviously nothing useful here.

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([PokerAppDelegate class]));
    }
}

The debug console shows nothing besides (lldb) (So I suppose its stopping, not crashing at this point) So, when I perform a BT this is what I get:

(lldb) bt
* thread #1: tid = 0x1c03, 0x9a258a6a libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
    frame #0: 0x9a258a6a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x99ea1b2f libsystem_c.dylib`pthread_kill + 101
    frame #2: 0x04a7057b libsystem_sim_c.dylib`abort + 140
    frame #3: 0x01dc0b4e GraphicsServices`GSRegisterPurpleNamedPort + 348
    frame #4: 0x01dc069f GraphicsServices`_GSEventInitialize + 123
    frame #5: 0x01dc0c1f GraphicsServices`GSEventInitialize + 36
    frame #6: 0x000163f9 UIKit`UIApplicationMain + 600
    frame #7: 0x00001d0d Guitar Chord Poker HD`main(argc=1, argv=0xbffff32c) + 141 at main.m:16
    frame #8: 0x00001c35 Guitar Chord Poker HD`start + 53
(lldb) 

Here's what I have done so far:

  • Performed a 'Clean'
  • I've reset the simulators and reset my computer
  • I've commented out all the code in the view controller, still crashes
  • I've commented out all the code in the app delegate, still crashes
  • BUT....I've run the app on a device outside of Xcode, and it seems to work perfectly fine.
  • (EDIT) I've deleted/reinstalled xcode, and all content(Simulators, Docs) from the various cache folders (This stops xcode from automatically reinstalling the old ones after a new download). Still can't find where command line tools is kept though. Still crashes.

Despite all this, apps still crash every second/other launch.

Thing is I had no issues until the most recent Xcode update. Could it be an Xcode bug?

(EDIT) I am also running the latest developer releases of OSX. Could that be interfering?

Ios Solutions


Solution 1 - Ios

Seems to be a combination of OS X 10.8.4 and LLDB. As kenster says, switching to GDB makes the problem go away.

Edit:
It's caused by a race condition in the debug server (I hear).

Here's a fix if you want to keep using LLDB: Instead of clicking Run while the app is already running in the simulator, kill it in Xcode (⌘-.), say "I love Xcode" 5 times and Run it again (⌘-R). It won't crash, I tested it.


Fixed in Xcode 4.6.3.

Solution 2 - Ios

I was having this issue as well. Take a look at this post. https://stackoverflow.com/questions/16113036/xcode-4-6-2-crash-when-run-of-a-second-time

Basically change your debugger from LLDB to GDB. I can't believe this was due to LLDB being buggy.

Solution 3 - Ios

Switching to GDB or rebooting device/host does not solve the issue in my environment.

However, modifying the Run target in the associated XCode scheme to no longer launch automatically but instead to "Wait for HelloWorld.app to launch" did.

Only drawback is that this implies to manually start the application on the device. The debugger will then get connected.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBeau NouvelleView Question on Stackoverflow
Solution 1 - Iosnevan kingView Answer on Stackoverflow
Solution 2 - IoskensterView Answer on Stackoverflow
Solution 3 - IosMekugiView Answer on Stackoverflow