Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GSRegisterPurpleNamedPort SIGABRT in UIApplicationMain Before App Delegate Gets to Run Any Code

Tags:

iphone

ios4

We recently put an update out for one of our apps and many users told us that they could no longer run the app because it crashed on startup.

We have been able to recreate the crash by building and running the previous release build onto a device and then building and running the new build overtop of it on the same device, but the stack trace for this crash is very strange:

Thread 0 Crashed:
0   libSystem.B.dylib             0x000791d0 __kill + 8
1   libSystem.B.dylib             0x000791c0 kill + 4
2   libSystem.B.dylib             0x000791b2 raise + 10
3   libSystem.B.dylib             0x0008d6fa abort + 50
4   GraphicsServices              0x00003aa8 GSRegisterPurpleNamedPort + 172
5   GraphicsServices              0x00003d5a GSEventInitialize + 150
6   UIKit                         0x00004cd6 UIApplicationMain + 350
7   MyApp                         0x0000df5c main (main.m:14)
8   MyApp                         0x00002c84 start + 32

It appears to be crashing in the UIApplicationMain method that main calls. But it crashes before it reaches any of the methods in our app delegate. I have put breakpoints in all of the app delegate methods and none of them are reached.

In addition, this appears to be only occurring for users that are updating the app. Users that are downloading it from the app store without it already being on their iPhones are not seeing the problem.

Has anyone ever encountered a crash like this? Why would this problem only occur for updates?

like image 564
derekvanvliet Avatar asked Aug 28 '10 05:08

derekvanvliet


3 Answers

Is this under iOS 4.0? This type of error had been reported to occur when a process or thread from the previous install of this app has crashed and somehow hasn't been cleaned up by the OS yet or has hung up in the debugger.

Does a reboot of the iPhone after installation of the new version of the app cause this error to go away? That would be one good indication that something is stuck/corrupted in the OS from the previous install, rather than in the app bundle itself.

like image 177
hotpaw2 Avatar answered Oct 19 '22 22:10

hotpaw2


I've been having the same issue (thankfully I caught it before submitting to the AppStore). Unlike this answer states, the issue still occurs on iOS 5.x and 6.x.

So I went into the Console and found a few messages were logged before my app crashed. First was this message:

com.apple.launchd.peruser.503[148]: (UIKitApplication:BUNDLE-ID[0x4fb5][20462]) The following job tried to hijack the service "BUNDLE-ID-1" from this job: UIKitApplication:BUNDLE-ID-1[0xac31]

The next message in the console displays immediately afterwards:

GSRegisterPurpleNamedPort Couldn't register BUNDLE ID with the bootstrap server. Error: unknown error code (1100). This generally means that another instance of this process was already running or is hung in the debugger.

The crash is caused by another almost identical process already running on the system. It sounds like an issue with iOS not the app itself. This should help clear things up. Best thing to do would probably be to tell users to quit the app, try restarting and open again.

I've also submitted a bug report to Apple detailing the issue.

EDIT: It looks as though this might have been an issue with Xcode itself. Apple has just released an update which should fix the issue (at least in the Simulator):

Mac AppStore Xcode Update

like image 5
Sam Spencer Avatar answered Oct 19 '22 22:10

Sam Spencer


I got this problem in a project every time i debugged it a second time. Only rebooting the device would allow me to debug once again.

This particular cause of the above stacktrace was finally solved by reinstalling iTunes.

like image 3
Orpe Avatar answered Oct 19 '22 20:10

Orpe