http://bugzilla.novell.com/show_bug.cgi?id=620864
http://bugzilla.novell.com/show_bug.cgi?id=620864#c0 Summary: NullReferenceException serializing a dictionary Classification: Mono Product: Mono: Runtime Version: SVN Platform: 64bit OS/Version: RHEL 5 Status: NEW Severity: Major Priority: P5 - None Component: misc AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; MS-RTC LM 8) In the following sample, serializing some basic dictionaries will generate NullReferenceExceptions on mono but work ok on windows. Its seems to be just dictionaries but it could be others. 1. compile the following test: using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Runtime.Serialization.Formatters.Binary; using System.IO; public class TestProject { static void Main(string[] args) { //fails on mono IDictionary<string, Type> myDataA = new Dictionary<string, Type>(); myDataA.Add("test1", typeof(String)); MemoryStream memoryStream = new MemoryStream(); BinaryFormatter binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(memoryStream, myDataA); //fails on mono too IDictionary<string, object> myData = new Dictionary<string, object>(); myData.Add("test1", 1234); myData.Add("test2", "myString"); memoryStream = new MemoryStream(); binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(memoryStream, myData); } } 2. running it on mono will generate this error but works on windows: Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object at System.ValueType.GetHashCode () [0x00000] in <filename unknown>:0 at System.Collections.Hashtable.GetHash (System.Object key) [0x00000] in <filename unknown>:0 at System.Collections.Hashtable.Find (System.Object key) [0x00000] in <filename unknown>:0 at System.Collections.Hashtable.Contains (System.Object key) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.SerializationObjectManager.RegisterObject (System.Object obj) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.GetObjectData (System.Object obj, System.Runtime.Serialization.Formatters.Binary.TypeMetadata& metadata, System.Object& data) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObject (System.IO.BinaryWriter writer, Int64 id, System.Object obj) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectInstance (System.IO.BinaryWriter writer, System.Object obj, Boolean isValueObject) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteValue (System.IO.BinaryWriter writer, System.Type valueType, System.Object val) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteGenericArray (System.IO.BinaryWriter writer, Int64 id, System.Array array) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteArray (System.IO.BinaryWriter writer, Int64 id, System.Array array) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectInstance (System.IO.BinaryWriter writer, System.Object obj, Boolean isValueObject) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteQueuedObjects (System.IO.BinaryWriter writer) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectGraph (System.IO.BinaryWriter writer, System.Object obj, System.Runtime.Remoting.Messaging.Header[] headers) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph, System.Runtime.Remoting.Messaging.Header[] headers) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph) [0x00000] in <filename unknown>:0 at TestProject.Main (System.String[] args) [0x00000] in <filename unknown>:0 Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
