https://bugzilla.novell.com/show_bug.cgi?id=675144
https://bugzilla.novell.com/show_bug.cgi?id=675144#c0 Summary: Apparent threading issue with KnownTypeCollection Classification: Mono Product: Mono: Class Libraries Version: SVN Platform: x86 OS/Version: UNIX Other Status: NEW Severity: Normal Priority: P5 - None Component: WCF AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.10) Gecko/20101005 Fedora/3.6.10-1.fc14 Firefox/3.6.10 Some of the time when I run my application in Moonlight I get an exception thrown in KnownTypeCollection due to a collection being modified while enumerating it. This results in some of my known types not getting registered, so later calls to deserialize SOAP types fail. It is not 100% reproducible and I haven't yet been able to reproduce it in a simple test case, but I will keep trying. Stack trace follows: [0xa49ffb70:] EXCEPTION handling: System.InvalidOperationException: Collection was modified; enumeration operation may not execute. Exception in async operation: System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.Collections.Generic.List`1+Enumerator[System.Runtime.Serialization.SerializationMap].VerifyState () [0x00000] in <filename unknown>:0 at System.Collections.Generic.List`1+Enumerator[System.Runtime.Serialization.SerializationMap].MoveNext () [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.First[SerializationMap] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.FirstOrDefault[SerializationMap] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.KnownTypeCollection.FindUserMap (System.Xml.XmlQualifiedName qname) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.XmlFormatterDeserializer.DeserializeByMap (System.Xml.XmlQualifiedName name, System.Type type, System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.XmlFormatterDeserializer.Deserialize (System.Type type, System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.XmlFormatterDeserializer.Deserialize (System.Xml.XmlReader reader, System.Type declaredType, System.Runtime.Serialization.KnownTypeCollection knownTypes, IDataContractSurrogate surrogate, System.Runtime.Serialization.DataContractResolver resolver, System.Runtime.Serialization.DataContractResolver defaultResolver, System.String name, System.String ns, Boolean verifyObjectName) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.DataContractSerializer.ReadObject (System.Xml.XmlDictionaryReader reader, Boolean verifyObjectName) [0x00000] in <filename unknown>:0 at System.Runtime.Serialization.XmlObjectSerializer.ReadObject (System.Xml.XmlDictionaryReader reader) [0x00000] in <filename unknown>:0 at System.ServiceModel.Dispatcher.DataContractMessagesFormatter.MessageToParts (System.ServiceModel.Description.MessageDescription md, System.ServiceModel.Channels.Message message) [0x00000] in <filename unknown>:0 at System.ServiceModel.Dispatcher.BaseMessagesFormatter.DeserializeReply (System.ServiceModel.Channels.Message message, System.Object[] parameters) [0x00000] in <filename unknown>:0 at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply (System.ServiceModel.Channels.Message message, System.Object[] parameters) [0x00000] in <filename unknown>:0 at System.ServiceModel.MonoInternal.ClientRuntimeChannel.Request (System.ServiceModel.Description.OperationDescription od, System.Object[] parameters) [0x00000] in <filename unknown>:0 at System.ServiceModel.MonoInternal.ClientRuntimeChannel.DoProcess (System.Reflection.MethodBase method, System.String operationName, System.Object[] parameters) [0x00000] in <filename unknown>:0 at System.ServiceModel.MonoInternal.ClientRuntimeChannel.Process (System.Reflection.MethodBase method, System.String operationName, System.Object[] parameters) [0x00000] in <filename unknown>:0 Reproducible: Sometimes Steps to Reproduce: Hard to reproduce reliably, but my web service has around 40-50 DataContract types and around 40 OperationContract methods, several of which get called in parallel during initialization (which is when the exception occurs). Actual Results: The exception described above gets thrown and some of the web service calls always fail thereafter due to not being able to find a known type. Expected Results: The known type container should reliably handle many web service calls in parallel without throwing an exception. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
