iPhone App Quits on Launch Without Crash Log

TALlama picture TALlama · Oct 2, 2009 · Viewed 7.3k times · Source

My application runs fine on 3.0 devices and on 3.1 devices when launched via Xcode, but crashes on startup when run on a 3.1 device when installed via iTunes. It leaves no crash log behind, but puts this into the console:

Thu Oct  1 19:33:36 unknown mobile_installationd[329] <Error>: 00808e00 install_embedded_profile: Skipping the installation of the embedded profile
Thu Oct  1 19:33:37 unknown SpringBoard[24] <Warning>: Reloading and rendering all application icons.
Thu Oct  1 19:33:41 unknown com.apple.debugserver-43[342] <Warning>: debugserver-43 for armv6 Copyright (c) 2007-2009 Apple, Inc.  All Rights Reserved.
Thu Oct  1 19:33:41 unknown com.apple.debugserver-43[342] <Warning>: Connecting to com.apple.debugserver service...
Thu Oct  1 19:33:41 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Spawned and waiting for the debugger to attach before continuing...
Thu Oct  1 19:33:42 unknown kernel[0] <Debug>: launchd[343] Builtin profile: container (seatbelt)
Thu Oct  1 19:33:42 unknown kernel[0] <Debug>: launchd[343] Container: /private/var/mobile/Applications/291BFBE4-F5DC-494D-B7E5-81BED01E508B (seatbelt)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 1 [0156/0903]: error: ::task_for_pid ( target_tport = 0x0103, pid = 343, task => 0x0000 ) 0x000001f5/0x000001f5 0x000001f5/0x000001f5 err = (os/kern) failure (0x00000005)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Error>: error: MachTask::StartExceptionThread (): task invalid, exception thread start failed.
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 2 [0156/0903]: error: ::task_for_pid ( target_tport = 0x0103, pid = 343, task => 0x0000 ) 0x000001f5/0x000001f5 0x000001f5/0x000001f5 err = (os/kern) failure (0x00000005)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 3 [0156/0903]: RNBRunLoopLaunchInferior DNBProcessLaunch() returned error: 'DRHT'
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: error: failed to launch process (null): failed to get the task for process 343
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 4 [0156/1603]: error: ::read ( 7, 0x28091c, 1024 ) => -1 err = Bad file descriptor (0x00000009)
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.companyname.AppName[0x60c]) Bug: launchd_core_logic.c:2649 (23909):10
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.companyname.AppName[0x60c]) Working around 5020256. Assuming the job crashed.
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Job appears to have crashed: Segmentation fault
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Throttling respawn: Will start in 2147483647 seconds
Thu Oct  1 19:33:42 unknown SpringBoard[24] <Warning>: Application 'AppName' exited abnormally with signal 11: Segmentation fault
Thu Oct  1 19:34:42 unknown SpringBoard[24] <Notice>: MultitouchHID(208ba0) uilock state: 0 -> 1

The application has a Default.png file, and that shows for a moment, but I think that may be loaded by SpringBoard/launchd/whatnot, so I don't think that's a sign that I'm actually ever running.

I created a second project on the same box and used the same credentials and certificates to build it, and it builds and runs through iTunes without a problem.

Answer

TALlama picture TALlama · Oct 4, 2009

I was putting the build as a raw .app file on Dropbox, and even though codesign -vvvv AppName.app worked on the copy on my side of the Dropbox, it apparently got changed somehow by the time it had reached the tester. The certification failed, and the application refused to launch.

This blog post was instrumental in discovering that this was the cause, and this one was instrumental in discovering the solution (zipping the app up using zip MyApp.zip -r -y MyApp.app).