[MonoTouch] Weird Json.NET / Newtonsoft errors w/ latest MT beta and 5.1
Nic Wise
nicw at fastchicken.co.nz
Sat Mar 10 11:27:49 UTC 2012
oops, spoke too soon. here's the sqlite error. Again, it's in a
Task-created thread.
it appears to be when I (simplified) do this:
Task.Factory.StartNew(() => {
//do some work. This works fine
}).ContinueWith(t => {
Task.Factory.StartNew(() => {
//do some work. This works failing in a firey ball of crash
}).ContinueWith(t => {
}, new UIKitScheduler());
}, new UIKitScheduler());
------------------------
Stacktrace:
at (wrapper managed-to-native) MicroAgent.Library.SQLite3.Prepare2
(intptr,string,int,intptr&,intptr) <IL 0x0003c, 0xffffffff>
at MicroAgent.Library.SQLite3.Prepare2 (intptr,string) [0x00000] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/SQLite.cs:1755
at MicroAgent.Library.SQLiteCommand.Prepare () [0x00000] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/SQLite.cs:1172
at MicroAgent.Library.SQLiteCommand/<ExecuteDeferredQuery>c__Iterator0`1.MoveNext
() [0x0004d] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/SQLite.cs:1099
at System.Collections.Generic.List`1.AddEnumerable
(System.Collections.Generic.IEnumerable`1<T>) [0x0001a] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/List.cs:126
at System.Collections.Generic.List`1..ctor
(System.Collections.Generic.IEnumerable`1<T>) [0x0002f] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/List.cs:63
at System.Linq.Enumerable.ToList<TSource>
(System.Collections.Generic.IEnumerable`1<TSource>) [0x00006] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2920
at MicroAgent.Library.SQLiteCommand.ExecuteQuery<T> () [0x00000] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/SQLite.cs:1085
at MicroAgent.Library.TableQuery`1.GetEnumerator () [0x0000b] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/SQLite.cs:1689
at System.Linq.Enumerable.FirstOrDefault<TSource>
(System.Collections.Generic.IEnumerable`1<TSource>) [0x00006] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:858
at MicroAgent.Library.Database.SummaryRepository.Get
(MicroAgent.Library.Models.TaxYear) [0x0002d] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/Database/SummaryReadWrite.cs:19
at MicroAgent.Library.Database.SummaryRepository.GetForCurrentYear
() [0x00006] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/Database/SummaryReadWrite.cs:29
at MicroAgent.Library.OverviewDialogViewController.<ReloadSummary>m__39
() [0x00000] in
/Users/nic/code/git/MicroAgent/MicroAgentLibrary/Controllers/OverviewDialogViewController.cs:180
at System.Threading.Tasks.TaskActionInvoker/FuncInvoke`1.Invoke
(System.Threading.Tasks.Task,object,System.Threading.Tasks.Task)
[0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/TaskActionInvoker.cs:240
at System.Threading.Tasks.Task.InnerInvoke () [0x00028] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/Task.cs:475
at System.Threading.Tasks.Task.ThreadStart () [0x0006e] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/Task.cs:387
at System.Threading.Tasks.Task.Execute () [0x00000] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/Task.cs:445
at System.Threading.Tasks.TaskScheduler.TryExecuteTask
(System.Threading.Tasks.Task) [0x00019] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/TaskScheduler.cs:102
at System.Threading.Tasks.NSRunLoopScheduler/<QueueTask>c__AnonStorey4.<>m__C
() [0x0001c] in /Users/nic/code/git/MicroAgent/Common/Threading.cs:82
at MonoTouch.Foundation.NSActionDispatcher.Apply () [0x00000] in
/Developer/MonoTouch/Source/monotouch/src/shared/Foundation/NSAction.cs:48
at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>
at (wrapper managed-to-native)
MonoTouch.UIKit.UIApplication.UIApplicationMain
(int,string[],intptr,intptr) <IL 0x0009f, 0xffffffff>
at MonoTouch.UIKit.UIApplication.Main (string[],string,string)
[0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
at MicroAgent.Application.Main (string[]) [0x0000b] in
/Users/nic/code/git/MicroAgent/MicroAgent/Main.cs:22
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object
(object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff>
Native stacktrace:
0 MicroAgent 0x0009c03c
mono_handle_native_sigsegv + 284
1 MicroAgent 0x000113d8
mono_sigsegv_signal_handler + 248
2 libsystem_c.dylib 0x9351159b _sigtramp + 43
3 ??? 0xffffffff 0x0 + 4294967295
4 libsqlite3.dylib 0x037bed20 sqlite3VdbeMemSetStr + 320
5 libsqlite3.dylib 0x037c5b04 generateColumnNames + 884
6 libsqlite3.dylib 0x037e95b3 sqlite3Select + 21571
7 libsqlite3.dylib 0x0382263c yy_reduce + 7900
8 libsqlite3.dylib 0x0382cb04 sqlite3Parser + 244
9 libsqlite3.dylib 0x0382cdd1 sqlite3RunParser + 577
10 libsqlite3.dylib 0x0382dbcb sqlite3Prepare + 683
11 libsqlite3.dylib 0x0382e1bb sqlite3LockAndPrepare + 299
12 libsqlite3.dylib 0x0382e5e5 sqlite3_prepare_v2 + 53
13 ??? 0x0cf873c8 0x0 + 217609160
14 ??? 0x0cf87338 0x0 + 217609016
15 ??? 0x0cf872d8 0x0 + 217608920
16 ??? 0x0cf87c78 0x0 + 217611384
17 ??? 0x0cf6a2b8 0x0 + 217490104
18 ??? 0x0cabfed8 0x0 + 212598488
19 ??? 0x0cf6a204 0x0 + 217489924
20 ??? 0x0cf87a9c 0x0 + 217610908
21 ??? 0x0cfa4af8 0x0 + 217729784
22 ??? 0x0cf76f07 0x0 + 217542407
23 ??? 0x0cfb9a2c 0x0 + 217815596
24 ??? 0x0cfb9710 0x0 + 217814800
25 ??? 0x0cfdcdcc 0x0 + 217959884
26 ??? 0x0cfdcd72 0x0 + 217959794
27 ??? 0x0cfb8efc 0x0 + 217812732
28 ??? 0x0cfb8514 0x0 + 217810196
29 ??? 0x0cfb80dc 0x0 + 217809116
30 ??? 0x0cfdc4dc 0x0 + 217957596
31 ??? 0x0cfdc480 0x0 + 217957504
32 ??? 0x0cfdc446 0x0 + 217957446
33 ??? 0x09f1da79 0x0 + 166845049
34 MicroAgent 0x00015742
mono_jit_runtime_invoke + 722
35 MicroAgent 0x0017563e mono_runtime_invoke + 126
36 MicroAgent 0x00211e12 monotouch_trampoline + 3442
37 CoreFoundation 0x0272ee42 -[NSObject
performSelector:withObject:] + 66
38 Foundation 0x0099b9df
__NSThreadPerformPerform + 254
39 CoreFoundation 0x0270194f
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
40 CoreFoundation 0x02664b43 __CFRunLoopDoSources0 + 243
41 CoreFoundation 0x02664424 __CFRunLoopRun + 1012
42 CoreFoundation 0x02663d84 CFRunLoopRunSpecific + 212
43 CoreFoundation 0x02663c9b CFRunLoopRunInMode + 123
44 GraphicsServices 0x0413d7d8 GSEventRunModal + 190
45 GraphicsServices 0x0413d88a GSEventRun + 103
46 UIKit 0x01459626 UIApplicationMain + 1163
47 ??? 0x0cab3a84 0x0 + 212548228
48 ??? 0x0cab2cd0 0x0 + 212544720
49 ??? 0x0c357ba8 0x0 + 204831656
50 ??? 0x0c357cbf 0x0 + 204831935
51 MicroAgent 0x00015742
mono_jit_runtime_invoke + 722
52 MicroAgent 0x0017563e mono_runtime_invoke + 126
53 MicroAgent 0x00179724 mono_runtime_exec_main + 420
54 MicroAgent 0x0017eb45 mono_runtime_run_main + 725
55 MicroAgent 0x00072945 mono_jit_exec + 149
56 MicroAgent 0x0000e605 main + 2837
57 MicroAgent 0x00009a2d start + 53
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
On Sat, Mar 10, 2012 at 11:21, Nic Wise <nicw at fastchicken.co.nz> wrote:
> I'm still not sure whats causing it, but I was deserializing a basic
> json object within a thread, and today - and ONLY today - I've been
> getting the stack dump below. If I do it outside of a thread, it works
> _fine_.
>
> Anyone else seeing this?
>
> XC 4.3.1
> iOS 5.1
> MT latest beta (installed this morning)
>
> I tried going back to an old MT (5.2.5) with the same result. Once I
> get this, if I restart my app, I get seg faults in all the codes....
> mostly sqlite.
>
> Very odd.
>
>
> --------------------------------
>
> 20120310/101453: Exception: System.NullReferenceException: Object
> reference not set to an instance of an object
> at System.Array.Copy (System.Array sourceArray, Int32 sourceIndex,
> System.Array destinationArray, Int32 destinationIndex, Int32 length)
> [0x00104] in /Developer/MonoTouch/Source/mono/mcs/cla
> ss/corlib/System/Array.cs:979
> at System.Collections.ArrayList.CopyTo (Int32 index, System.Array
> array, Int32 arrayIndex, Int32 count) [0x0002d] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections/Arr
> ayList.cs:3064
> at System.Collections.ArrayList.CopyTo (System.Array array, Int32
> arrayIndex) [0x00000] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections/ArrayList.cs:3046
> at System.MonoCustomAttrs.GetCustomAttributes
> (ICustomAttributeProvider obj, System.Type attributeType, Boolean
> inherit) [0x0026c] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/Syste
> m/MonoCustomAttrs.cs:259
> at System.MonoType.GetCustomAttributes (System.Type attributeType,
> Boolean inherit) [0x00011] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/MonoType.cs:582
> at System.Attribute.GetCustomAttributes
> (System.Reflection.MemberInfo element, System.Type type, Boolean
> inherit) [0x00024] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Attri
> bute.cs:229
> at Newtonsoft.Json.Utilities.ReflectionUtils.GetAttributes[JsonContainerAttribute]
> (ICustomAttributeProvider attributeProvider, Boolean inherit)
> [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ReflectionUtils.GetAttribute[JsonContainerAttribute]
> (ICustomAttributeProvider attributeProvider, Boolean inherit)
> [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonTypeReflector.GetAttribute[JsonContainerAttribute]
> (ICustomAttributeProvider attributeProvider) [0x00000] in <filename
> unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Reflection.ICustomAttributeProvider,Newtonsoft.Json.JsonContainerAttribute].AddValue
> (ICustomAttributeProvider key) [0x00000] in <filen
> ame unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Reflection.ICustomAttributeProvider,Newtonsoft.Json.JsonContainerAttribute].Get
> (ICustomAttributeProvider key) [0x00000] in <filename u
> nknown>:0
> at Newtonsoft.Json.Serialization.CachedAttributeGetter`1[Newtonsoft.Json.JsonContainerAttribute].GetAttribute
> (ICustomAttributeProvider type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonContainerAttribute
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonObjectAttribute
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract
> (System.Type objectType) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Type,Newtonsoft.Json.Serialization.JsonContract].AddValue
> (System.Type key) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Type,Newtonsoft.Json.Serialization.JsonContract].Get
> (System.Type key) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.GetContractSafe
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType
> (Newtonsoft.Json.JsonReader reader, System.Type t,
> Newtonsoft.Json.JsonConverter propertyConverter) [0x00000] in <f
> ilename unknown>:0
> at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize
> (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000]
> in <filename unknown>:0
> at Newtonsoft.Json.JsonSerializer.DeserializeInternal
> (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000]
> in <filename unknown>:0
> at Newtonsoft.Json.JsonSerializer.Deserialize
> (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000]
> in <filename unknown>:0
> at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String
> value, System.Type type, Newtonsoft.Json.JsonSerializerSettings
> settings) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.JsonConvert.DeserializeObject[Settings]
> (System.String value, Newtonsoft.Json.JsonSerializerSettings settings)
> [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.JsonConvert.DeserializeObject[Settings]
> (System.String value) [0x00000] in <filename unknown>:0
> at MicroAgent.Library.Models.Settings.get_Current () [0x00036] in
> /Users/nic/code/git/MicroAgent/MicroAgentLibrary/Models/Settings.cs:118
> at MicroAgent.Library.OverviewDialogViewController.LoadView ()
> [0x000b6] in /Users/nic/code/git/MicroAgent/MicroAgentLibrary/Controllers/OverviewDialogViewController.cs:75
> at (wrapper managed-to-native)
> MonoTouch.ObjCRuntime.Messaging:void_objc_msgSend (intptr,intptr)
> at MonoTouch.UIKit.UIWindow.MakeKeyAndVisible () [0x0000b] in
> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIWindow.g.cs:105
> at MicroAgent.AppDelegate.FinishedLaunching
> (MonoTouch.UIKit.UIApplication app, MonoTouch.Foundation.NSDictionary
> options) [0x0020b] in
> /Users/nic/code/git/MicroAgent/MicroAgent/AppDelegate
> .cs:140
> at (wrapper managed-to-native)
> MonoTouch.UIKit.UIApplication:UIApplicationMain
> (int,string[],intptr,intptr)
> at MonoTouch.UIKit.UIApplication.Main (System.String[] args,
> System.String principalClassName, System.String delegateClassName)
> [0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/
> UIApplication.cs:29
> at MicroAgent.Application.Main (System.String[] args) [0x0000b] in
> /Users/nic/code/git/MicroAgent/MicroAgent/Main.cs:22
>
> --------------- AND ----------------------
>
> 20120310/101453: StackTrace: at System.Array.Copy (System.Array
> sourceArray, Int32 sourceIndex, System.Array destinationArray, Int32
> destinationIndex, Int32 length) [0x00104] in /Developer/
> MonoTouch/Source/mono/mcs/class/corlib/System/Array.cs:979
> at System.Collections.ArrayList.CopyTo (Int32 index, System.Array
> array, Int32 arrayIndex, Int32 count) [0x0002d] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections/Arr
> ayList.cs:3064
> at System.Collections.ArrayList.CopyTo (System.Array array, Int32
> arrayIndex) [0x00000] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections/ArrayList.cs:3046
> at System.MonoCustomAttrs.GetCustomAttributes
> (ICustomAttributeProvider obj, System.Type attributeType, Boolean
> inherit) [0x0026c] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/Syste
> m/MonoCustomAttrs.cs:259
> at System.MonoType.GetCustomAttributes (System.Type attributeType,
> Boolean inherit) [0x00011] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/MonoType.cs:582
> at System.Attribute.GetCustomAttributes
> (System.Reflection.MemberInfo element, System.Type type, Boolean
> inherit) [0x00024] in
> /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Attri
> bute.cs:229
> at Newtonsoft.Json.Utilities.ReflectionUtils.GetAttributes[JsonContainerAttribute]
> (ICustomAttributeProvider attributeProvider, Boolean inherit)
> [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ReflectionUtils.GetAttribute[JsonContainerAttribute]
> (ICustomAttributeProvider attributeProvider, Boolean inherit)
> [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonTypeReflector.GetAttribute[JsonContainerAttribute]
> (ICustomAttributeProvider attributeProvider) [0x00000] in <filename
> unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Reflection.ICustomAttributeProvider,Newtonsoft.Json.JsonContainerAttribute].AddValue
> (ICustomAttributeProvider key) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Reflection.ICustomAttributeProvider,Newtonsoft.Json.JsonContainerAttribute].Get
> (ICustomAttributeProvider key) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.CachedAttributeGetter`1[Newtonsoft.Json.JsonContainerAttribute].GetAttribute
> (ICustomAttributeProvider type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonContainerAttribute
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonObjectAttribute
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract
> (System.Type objectType) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Type,Newtonsoft.Json.Serialization.JsonContract].AddValue
> (System.Type key) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Utilities.ThreadSafeStore`2[System.Type,Newtonsoft.Json.Serialization.JsonContract].Get
> (System.Type key) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.GetContractSafe
> (System.Type type) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType
> (Newtonsoft.Json.JsonReader reader, System.Type t,
> Newtonsoft.Json.JsonConverter propertyConverter) [0x00000] in
> <filename unknown>:0
> at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize
> (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000]
> in <filename unknown>:0
> at Newtonsoft.Json.JsonSerializer.DeserializeInternal
> (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000]
> in <filename unknown>:0
> at Newtonsoft.Json.JsonSerializer.Deserialize
> (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000]
> in <filename unknown>:0
> at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String
> value, System.Type type, Newtonsoft.Json.JsonSerializerSettings
> settings) [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.JsonConvert.DeserializeObject[Settings]
> (System.String value, Newtonsoft.Json.JsonSerializerSettings settings)
> [0x00000] in <filename unknown>:0
> at Newtonsoft.Json.JsonConvert.DeserializeObject[Settings]
> (System.String value) [0x00000] in <filename unknown>:0
> at MicroAgent.Library.Models.Settings.get_Current () [0x00036] in
> /Users/nic/code/git/MicroAgent/MicroAgentLibrary/Models/Settings.cs:118
> at MicroAgent.Library.OverviewDialogViewController.LoadView ()
> [0x000b6] in /Users/nic/code/git/MicroAgent/MicroAgentLibrary/Controllers/OverviewDialogViewController.cs:75
> at (wrapper managed-to-native)
> MonoTouch.ObjCRuntime.Messaging:void_objc_msgSend (intptr,intptr)
> at MonoTouch.UIKit.UIWindow.MakeKeyAndVisible () [0x0000b] in
> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIWindow.g.cs:105
> at MicroAgent.AppDelegate.FinishedLaunching
> (MonoTouch.UIKit.UIApplication app, MonoTouch.Foundation.NSDictionary
> options) [0x0020b] in
> /Users/nic/code/git/MicroAgent/MicroAgent/AppDelegate.cs:140
> at (wrapper managed-to-native)
> MonoTouch.UIKit.UIApplication:UIApplicationMain
> (int,string[],intptr,intptr)
> at MonoTouch.UIKit.UIApplication.Main (System.String[] args,
> System.String principalClassName, System.String delegateClassName)
> [0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
> at MicroAgent.Application.Main (System.String[] args) [0x0000b] in
> /Users/nic/code/git/MicroAgent/MicroAgent/Main.cs:22
>
> --
> Nic Wise
> t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
> b. http://www.fastchicken.co.nz/
>
> Nearest Bus: find when the next bus is coming to your stop. http://goo.gl/Vcz1p
> mobileAgent (for FreeAgent): get your accounts in your pocket.
> http://goo.gl/IuBU
> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
> London Bike App: Find the nearest Boris Bike, and get riding! http://goo.gl/Icp2
--
Nic Wise
t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
b. http://www.fastchicken.co.nz/
Nearest Bus: find when the next bus is coming to your stop. http://goo.gl/Vcz1p
mobileAgent (for FreeAgent): get your accounts in your pocket.
http://goo.gl/IuBU
Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
London Bike App: Find the nearest Boris Bike, and get riding! http://goo.gl/Icp2
More information about the MonoTouch
mailing list