[Mono-bugs] [Bug 80082][Nor] New - [2.0] CompareInfo binary serialization not compatible with MS
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Tue Nov 28 17:00:20 EST 2006
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by gert.driesen at pandora.be.
http://bugzilla.ximian.com/show_bug.cgi?id=80082
--- shadow/80082 2006-11-28 17:00:20.000000000 -0500
+++ shadow/80082.tmp.19605 2006-11-28 17:00:20.000000000 -0500
@@ -0,0 +1,72 @@
+Bug#: 80082
+Product: Mono: Class Libraries
+Version: 1.1
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: CORLIB
+AssignedTo: mono-bugs at ximian.com
+ReportedBy: gert.driesen at pandora.be
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: [2.0] CompareInfo binary serialization not compatible with MS
+
+MS introduced CompareInfo.Name in .NET 2.0, which results in an additional
+field that is serialized (m_name).
+
+This field is not available in Mono. We do appear to have an icu_name
+field, but I'm not sure if the semantics of these fields match.
+
+I also noticed that MS allows deserialization of a .NET 1.1 CompareInfo
+blob on .NET 2.0, even though m_name is not serialized in .NET 1.1. MS
+might be using its newly introduced Version Tolereant Serialization
+mechanism here.
+
+I've added deserialization unit tests for CaseInsensitiveComparer which
+fails as a result of this issue.
+
+Attempting to deserialize an MS.NET 2.0 CompareInfo blob results in the
+following exception:
+
+System.Runtime.Serialization.SerializationException : Field "m_name" not
+found in class System.Globalization.CompareInfo
+ at
+System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadTypeMetadata
+(System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean
+hasTypeInfo) [0x0029a] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:687
+ at
+System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectInstance
+(System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean
+hasTypeInfo, System.Int64& objectId, System.Object& value,
+System.Runtime.Serialization.SerializationInfo& info) [0x0000a] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:239
+ at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject
+(BinaryElement element, System.IO.BinaryReader reader, System.Int64&
+objectId, System.Object& value,
+System.Runtime.Serialization.SerializationInfo& info) [0x0008a] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:161
+ at
+System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject
+(System.IO.BinaryReader reader) [0x00027] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:124
+ at
+System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph
+(System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result,
+System.Runtime.Remoting.Messaging.Header[]& headers) [0x00044] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs:105
+ at
+System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize
+(System.IO.Stream serializationStream,
+System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00079] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs:172
+ at
+System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize
+(System.IO.Stream serializationStream) [0x00000] in
+/home/monohead/mono/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs:129
+....
More information about the mono-bugs
mailing list