[MonoTouch] Weird Json.NET / Newtonsoft errors w/ latest MT beta and 5.1

Nic Wise nicw at fastchicken.co.nz
Sat Mar 10 11:21:34 UTC 2012


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


More information about the MonoTouch mailing list