0
Fixed

System.InvalidOperationException: Collection was modified; enumeration operation may not execute

Bob Bradley 7 years ago updated by anonymous 7 years ago 3

Using Event Broker 3.2.1.3

Error text:

20170816,07:11:48,UNIFY FIM Event Broker,Operations,Error,"Operation 6b3fa541-163f-4dd5-8841-a41841ba4398 failed in operation list with id 51a5cde2-681b-4329-8da8-d9a0e2b4fceb for the following reason. This is retry number 0: Unify.Framework.UnifyEngineException: Error in stored values engine attempting to write to storage, see the inner exception. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at WriteArrayOfKeyValueOfGroupedNameValueCollectionKeyanyType70DdoCVIToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteStoredValueCollectionToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(Stream stream, Object graph)
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.<>c__DisplayClass14_0.<savestoredvaluescollection>b__0()
   at Unify.Framework.ExtensionMethods.WaitOnMutex(Mutex mutex, Action work)
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.SaveStoredValuesCollection(IStoredValueCollection storedValueCollection)
   --- End of inner exception stack trace ---
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.SaveStoredValuesCollection(IStoredValueCollection storedValueCollection)
   at Unify.Framework.StoredValues.StoredValueCollection.InvokeItemChanged()
   at Unify.Product.EventBroker.ADSyncCommitPlugIn.Execute()
   at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)",Normal</savestoredvaluescollection>

Operation details:

<operation id="6b3fa541-163f-4dd5-8841-a41841ba4398" plugin="Unify.EventBroker.PlugIn.ADSyncCommit" overridedisplayname="false" displayname="Active Directory Sync Commit">
          <failure retrycount="0" retrywaitperiod="PT10S" successaction="RunNext" failureaction="Stop"></failure>
          <agents></agents>
          <extended></extended>
        </operation>


Answer

Answer
Fixed

Hi Bob,

This has been fixed as of v4.0. See AD Sync Get Changes: Collection was modified

GOOD, I'M SATISFIED
Satisfaction mark by Bob Bradley 7 years ago
Under review

Hi Bob,

Is this failure recurring or has a subsequent operation since cleared this up?

Curtis this is recurring, although infrequent - last 3 occurrences are 31 July, 14 August, 16 August (once each)

Answer
Fixed

Hi Bob,

This has been fixed as of v4.0. See AD Sync Get Changes: Collection was modified