Reputation: 26495
I'm getting a similar error as the post here.
I'm parsing JSON with JSON.NET on a background thread just like him. It sporadically fails with an error in Array.Copy
.
Here is a stacktrace:
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/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/ArrayList.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/System/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 Newtonsoft.Json.Utilities.ReflectionUtils.GetAttributes[JsonConverterAttribute] (ICustomAttributeProvider attributeProvider, Boolean inherit) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Utilities.ReflectionUtils.GetAttribute[JsonConverterAttribute] (ICustomAttributeProvider attributeProvider, Boolean inherit) [0x00000] in <filename unknown>:0
... Continues ...
Here is the offending code in JSON.Net:
#if !(NETFX_CORE)
public static T[] GetAttributes<T>(ICustomAttributeProvider attributeProvider, bool inherit) where T : Attribute
{
ValidationUtils.ArgumentNotNull(attributeProvider, "attributeProvider");
object provider;
#if !PORTABLE
provider = attributeProvider;
#else
... omitted junk ...
if (provider is Type)
return (T[])((Type)provider).GetCustomAttributes(typeof(T), inherit);
I'm guessing GetCustomAttributes
is returning null. Has anyone at Xamarin been aware of this issue? The guy on the newsgroup said he put this work on the main thread and it fixed it (but I'm not sure I want to do that).
Upvotes: 0
Views: 489
Reputation: 19335
This is a known bug.
It is fixed in the 5.3.3 alpha release.
Upvotes: 2