[Mono-bugs] [Bug 675144] New: Apparent threading issue with KnownTypeCollection
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Feb 25 12:55:07 EST 2011
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: atsushi at ximian.com
ReportedBy: david.straw at hp.com
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list