https://bugzilla.novell.com/show_bug.cgi?id=670974
https://bugzilla.novell.com/show_bug.cgi?id=670974#c0 Summary: Race condition in deserialization process Classification: Mono Product: Mono: Class Libraries Version: 2.8.x Platform: Other OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: WCF AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=413329) --> (http://bugzilla.novell.com/attachment.cgi?id=413329) Sample program Description of Problem: I am using Mono WCF with NetTcpBinding. When I call the service in a loop I get an error. After a random amount of calls the service stops operating because of an ArgumentException being thrown during deserialization. Steps to reproduce the problem: 1. Create a basic service contract, service and client. (see attached file) 2. Call the service in a loop. Actual Results: Stacktrace from service: System.ArgumentException: Arg_InsufficientSpace Parameter name: chars at System.Text.UTF8Encoding.InternalGetChars (System.Byte* bytes, Int32 byteCount, System.Char* chars, Int32 charCount, System.UInt32& leftOverBits, System.UInt32& leftOverCount, System.Object provider, System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]& bufferArg, Boolean flush) [0x003a7] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/corlib/System.Text/UTF8Encoding.cs:822 at System.Text.UTF8Encoding.InternalGetChars (System.Byte[] bytes, Int32 byteIndex, Int32 byteCount, System.Char[] chars, Int32 charIndex, System.UInt32& leftOverBits, System.UInt32& leftOverCount, System.Object provider, System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]& bufferArg, Boolean flush) [0x0010b] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/corlib/System.Text/UTF8Encoding.cs:678 at System.Text.UTF8Encoding.GetChars (System.Byte[] bytes, Int32 byteIndex, Int32 byteCount, System.Char[] chars, Int32 charIndex) [0x00008] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/corlib/System.Text/UTF8Encoding.cs:832 at System.IO.BinaryReader.ReadCharBytes (System.Char[] buffer, Int32 index, Int32 count, System.Int32& bytes_read) [0x00041] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/corlib/System.IO/BinaryReader.cs:244 at System.IO.BinaryReader.PeekChar () [0x0004a] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/corlib/System.IO/BinaryReader.cs:143 at System.Xml.XmlBinaryDictionaryReader+StreamSource.ReadByte () [0x00000] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.Runtime.Serialization/System.Xml/XmlBinaryDictionaryReader.cs:75 at System.Xml.XmlBinaryDictionaryReader.ReadByteOrError () [0x0001d] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.Runtime.Serialization/System.Xml/XmlBinaryDictionaryReader.cs:1031 at System.Xml.XmlBinaryDictionaryReader.ReadElementBinary (Int32 ident) [0x00181] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.Runtime.Serialization/System.Xml/XmlBinaryDictionaryReader.cs:729 at System.Xml.XmlBinaryDictionaryReader.Read () [0x0026f] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.Runtime.Serialization/System.Xml/XmlBinaryDictionaryReader.cs:601 at System.Xml.XmlWriter.WriteNode (System.Xml.XmlReader reader, Boolean defattr) [0x00218] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.XML/System.Xml/XmlWriter.cs:576 at System.ServiceModel.Channels.MessageHeader+RawMessageHeader..ctor (System.Xml.XmlReader reader, System.String soap_ns) [0x000ed] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.ServiceModel/System.ServiceModel.Channels/MessageHeader.cs:245 at System.ServiceModel.Channels.XmlReaderMessage.ReadHeaders () [0x000dc] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.ServiceModel/System.ServiceModel.Channels/MessageImpl.cs:174 at System.ServiceModel.Channels.XmlReaderMessage.get_Headers () [0x0000b] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.ServiceModel/System.ServiceModel.Channels/MessageImpl.cs:76 at System.ServiceModel.Dispatcher.EndpointAddressMessageFilter.Match (System.ServiceModel.Channels.Message message) [0x00000] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/EndpointAddressMessageFilter.cs:70 at System.ServiceModel.Dispatcher.ListenerLoopManager.FindEndpointDispatcher (System.ServiceModel.Channels.Message message) [0x00021] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs:636 at System.ServiceModel.Dispatcher.ListenerLoopManager.ProcessInput (IInputChannel input, System.ServiceModel.Channels.Message message) [0x00002] in /usr/src/packages/BUILD/mono-2.8.2/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs:618 How often does this happen? Always. -- Configure bugmail: https://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
