Reputation: 12007
I know there are a lot of SO questions with this same title, but they all appear to be quite different. Nevertheless, the title describes the main symptom.
I have a MonoTouch application which works fantastic in the simulator. Even the device provisioning and app signing process went very smoothly.
However, when the application runs on the device, it crashes instantly.
I'm able to see that it crashes in Application.cs
(in the line UIApplication.Main(...)
):
using System;
using MonoTouch.UIKit;
namespace MyApp
{
public class Application
{
public static void Main (string[] args)
{
try
{
UIApplication.Main (args, null, "AppDelegate"); //CRASHES HERE!
}
catch (Exception e)
{
Console.WriteLine (e.ToString ());
}
}
}
}
With the catch outout stating something generic: System.NullReferenceException: Object reference not set to an instance of an object
The crash report is as follows:
Application Specific Information:
com.testing.game failed to launch in time
Elapsed total CPU time (seconds): 3.140 (user 3.140, system 0.000), 16% CPU
Elapsed application CPU time (seconds): 1.616, 8% CPU
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x321de068 __psynch_cvwait + 24
1 libsystem_c.dylib 0x36696f2e _pthread_cond_wait + 634
2 libsystem_c.dylib 0x36696caa pthread_cond_wait + 34
3 GameB 0x007b8954 suspend_current (debugger-agent.c:2375)
4 GameB 0x007bad30 process_event (debugger-agent.c:3013)
5 GameB 0x007bd69c process_breakpoint_inner (debugger-agent.c:3837)
6 GameB 0x007bd7f4 process_breakpoint (debugger-agent.c:3855)
7 ??? 0x014fdff8 0 + 22011896
8 GameB 0x004e3858 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr (mscorlib.dll.6.s:148399)
9 GameB 0x0077d7dc mono_jit_runtime_invoke (mini.c:5784)
10 GameB 0x00890eb0 mono_runtime_invoke (object.c:2757)
11 GameB 0x008940d0 mono_runtime_exec_main (object.c:3940)
12 GameB 0x0089309c mono_runtime_run_main (object.c:3562)
13 GameB 0x00788748 mono_jit_exec (driver.c:1102)
14 GameB 0x0077371c main (main.m:2505)
15 GameB 0x0006c978 start + 44
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x321ce3b4 kevent + 24
1 libdispatch.dylib 0x32922e78 _dispatch_mgr_invoke + 708
2 libdispatch.dylib 0x32922b96 _dispatch_mgr_thread + 30
Thread 2:
0 libsystem_kernel.dylib 0x321de470 __recvfrom + 20
1 libsystem_c.dylib 0x36693aa0 recv + 16
2 GameB 0x007b55c4 recv_length (debugger-agent.c:996)
3 GameB 0x007c8bfc debugger_thread (debugger-agent.c:7136)
4 GameB 0x009030d4 thread_start_routine (wthreads.c:287)
5 GameB 0x00943dc8 GC_start_routine (pthread_support.c:1468)
6 libsystem_c.dylib 0x36696c16 _pthread_start + 314
7 libsystem_c.dylib 0x36696ad0 thread_start + 0
Thread 3:
0 libsystem_kernel.dylib 0x321ce060 semaphore_wait_trap + 8
1 GameB 0x009152e8 mono_sem_wait (mono-semaphore.c:115)
2 GameB 0x0081d648 finalizer_thread (gc.c:1070)
3 GameB 0x008cec40 start_wrapper_internal (threads.c:783)
4 GameB 0x008ced48 start_wrapper (threads.c:831)
5 GameB 0x009030d4 thread_start_routine (wthreads.c:287)
6 GameB 0x00943dc8 GC_start_routine (pthread_support.c:1468)
7 libsystem_c.dylib 0x36696c16 _pthread_start + 314
8 libsystem_c.dylib 0x36696ad0 thread_start + 0
Thread 4 name: WebThread
Thread 4:
0 libsystem_kernel.dylib 0x321ce010 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x321ce206 mach_msg + 50
2 CoreFoundation 0x30ecd41c __CFRunLoopServiceMachPort + 120
3 CoreFoundation 0x30ecc154 __CFRunLoopRun + 876
4 CoreFoundation 0x30e4f4d6 CFRunLoopRunSpecific + 294
5 CoreFoundation 0x30e4f39e CFRunLoopRunInMode + 98
6 WebCore 0x376e3128 _ZL12RunWebThreadPv + 396
7 libsystem_c.dylib 0x36696c16 _pthread_start + 314
8 libsystem_c.dylib 0x36696ad0 thread_start + 0
Unknown thread crashed with unknown flavor: 5, state_count: 1
Can anyone see why this may be crashing??? I'm at a total loss...
Cheers, Brett
Upvotes: 0
Views: 542
Reputation: 43553
The crash report looks unrelated to your issue.
com.testing.game failed to launch in time
The above means the iOS watchdog killed the application because it took too much time to start (around 15 seconds).
6 GameB 0x007bd7f4 process_breakpoint (debugger-agent.c:3855)
The stacktrace suggest you were waiting on a breakpoint. If this occurs before FinishedLaunching
returns then this is likely the reason why the watchdog is killing your app (and what the crash report contains).
Again make sure your extra mtouch arguments are identical between iPhoneSimulator|Debug and iPhone|Debug. If this still crash then run
/Developer/MonoTouch/usr/bin/mtouch --logdev
from a terminal window and re-crash your application. Copy/paste the output into your question. Note that you should try it with both Debug and Release since I suspect the later is more verbose.
Upvotes: 2