locked
CRM Email Queue Keep Getting Stuck RRS feed

  • Question

  • Hello,

    We are using email router for CRM 2013 On-Premise. We set up different mailboxes associated with a queue. So that when there's internal/external emails coming to that mailbox, it will create email activities in CRM.

    We noticed that there are some delay in getting the emails in, sometimes can take hours or days. The problem sometimes resolved until I restarted the Email Router service in the CRM server.

    I turned on error trace and there are a lot of error messages related to email. Not sure this could prevent the email router to stop working... Below is some of the error messages. These errors occurred within pretty small timeframe...

    Any idea is appreciated. Thanks.

    -tri

    Crm Exception: Message: An unexpected error occurred., ErrorCode: -2147220970, InnerException: System.InvalidCastException: Specified cast is not valid.
       at Microsoft.Crm.Common.ObjectModel.EmailService.IdentifyDirection(String messageId, Boolean direction, Entity emailDeltaEntity)
       at Microsoft.Crm.Common.ObjectModel.EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)
       at Microsoft.Crm.Common.ObjectModel.EmailService.DeliverPromote(Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, Entity extraProperties, BusinessEntityCollection attachments, ExecutionContext context)
    [2015-05-11 07:05:51.082] Process: w3wp |Organization:d190d7b5-e9c4-4aee-913c-47ef07ddf552 |Thread:   29 |Category: Platform |User: ba7b8529-9db0-e211-b4f5-78e3b511a6f7 |Level: Error |ReqId: 84ea90ff-0375-4ddd-afe3-8fe786949a5e | MessageProcessor.Execute  ilOffset = 0x1C5
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x16E
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x1F1
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x2D
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0xD
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x241
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x100
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x62
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.SynchronizationContextStartCallback(Object state)  ilOffset = 0x0
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x70
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x4
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x0
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA2
    >MessageProcessor fail to process message 'DeliverPromote' for 'email'.
    [2015-05-11 07:05:51.083] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread:   29 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: 84ea90ff-0375-4ddd-afe3-8fe786949a5e | ExceptionConverter.ConvertToFault  ilOffset = 0x69
    	at ExceptionConverter.ConvertToFault(Exception exception)  ilOffset = 0x69
    	at ExceptionConverter.TryConvertToFaultExceptionInternal(Exception exception, Boolean createNewFaultException, FaultException`1& faultException)  ilOffset = 0x6D
    	at FaultHelper.ConvertToFault(Exception exception)  ilOffset = 0x0
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0xD
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x241
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x100
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x62
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.SynchronizationContextStartCallback(Object state)  ilOffset = 0x0
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x70
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x4
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x0
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA2
    >UNEXPECTED: no fault?
    [2015-05-11 07:05:51.084] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread:   29 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: 84ea90ff-0375-4ddd-afe3-8fe786949a5e | ExceptionConverter.ConvertMessageAndErrorCode  ilOffset = 0x23B
    	at ExceptionConverter.ConvertMessageAndErrorCode(Exception exception, Int32& errorCode)  ilOffset = 0x23B
    	at ExceptionConverter.ToSingleFaultOther(Exception exception)  ilOffset = 0x2B
    	at ExceptionConverter.ToSingleFaultUnTyped(Exception exception)  ilOffset = 0x3A
    	at ExceptionConverter.ConvertToFault(Exception exception)  ilOffset = 0x69
    	at ExceptionConverter.TryConvertToFaultExceptionInternal(Exception exception, Boolean createNewFaultException, FaultException`1& faultException)  ilOffset = 0x6D
    	at FaultHelper.ConvertToFault(Exception exception)  ilOffset = 0x0
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0xD
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x241
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x100
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x62
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.SynchronizationContextStartCallback(Object state)  ilOffset = 0x0
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x70
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x4
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x0
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA2
    >System.InvalidCastException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #6F816C38: System.InvalidCastException: Specified cast is not valid.
    >   at Microsoft.Crm.Common.ObjectModel.EmailService.IdentifyDirection(String messageId, Boolean direction, Entity emailDeltaEntity)
    >   at Microsoft.Crm.Common.ObjectModel.EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)
    >   at Microsoft.Crm.Common.ObjectModel.EmailService.DeliverPromote(Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, Entity extraProperties, BusinessEntityCollection attachments, ExecutionContext context)
    [2015-05-11 07:06:01.949] Process: w3wp |Organization:d190d7b5-e9c4-4aee-913c-47ef07ddf552 |Thread:   47 |Category: Exception |User: ba7b8529-9db0-e211-b4f5-78e3b511a6f7 |Level: Error |ReqId: e18d4150-6f84-4950-9716-8f25d0674d62 | CrmException..ctor  ilOffset = 0x7
    	at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException)  ilOffset = 0x7
    	at CrmException..ctor(String message, Int32 errorCode)  ilOffset = 0x5
    	at SecurityLibrary.ThrowCrmSecurityException(SecurityPrincipal principal, Guid privilegeId, Int32 errorCode, ExecutionContext context)  ilOffset = 0x6B
    	at SecurityLibrary.CheckPrivilege(SecurityPrincipal principal, Guid privilege, ExecutionContext context)  ilOffset = 0x66
    	at AddressManager.GetOwnerCandidate(AddressEntry addressEntry)  ilOffset = 0x50
    	at AddressResolver.BuildResolvedAddressEntry(AddressCategory category, BusinessEntity businessEntity, Guid& objectId, Boolean active, String emailAddressMatched)  ilOffset = 0x58
    	at AddressResolver.GetPrunedList(BusinessEntityCollection responseCollection, AddressCategory category, Hashtable removeDuplicateFilter)  ilOffset = 0x6B
    	at AddressResolver.DoResolve(AddressEntry[] addressEntriesToResolve, Int32[] objectTypes, Boolean matchPartialEmailAddresses)  ilOffset = 0x70
    	at AddressManager.ResolveToAll(AddressEntry[] addressEntries, Int32[] entityList)  ilOffset = 0x13
    	at EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)  ilOffset = 0x70
    	at EmailService.DeliverPromote(Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, Entity extraProperties, BusinessEntityCollection attachments, ExecutionContext context)  ilOffset = 0x1C1
    	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x25
    	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0xCF
    	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x4F
    	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x57
    	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x200
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x16E
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x1F1
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x2D
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0xD
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x241
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x100
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x62
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.SynchronizationContextStartCallback(Object state)  ilOffset = 0x0
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x70
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x4
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x0
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA2
    
    Violation of PRIMARY KEY constraint 'PK_EmailBase'. Cannot insert duplicate key in object 'dbo.EmailBase'. The duplicate key value is (b2bbe4d1-e0ed-e411-80de-00505697533c).
    The statement has been terminated.
    The statement has been terminated.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at Microsoft.Crm.CrmDbConnection.InternalExecuteWithRetry[TResult](Func`1 ExecuteMethod, IDbCommand command)
       at Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command, Boolean capturePerfTrace)
       at Microsoft.Crm.CrmDbConnection.ExecuteNonQuery(IDbCommand command, Boolean impersonate, Boolean capturePerfTrace)
       at Microsoft.Crm.BusinessEntities.BusinessProcessObject.ExecuteNonQuery(IDbCommand command, ISqlExecutionContext context)
    ClientConnectionId:ae2c1be4-ffff-4954-a52b-35c704888df5
    [2015-05-11 07:06:01.982] Process: w3wp |Organization:d190d7b5-e9c4-4aee-913c-47ef07ddf552 |Thread:   47 |Category: Exception |User: ba7b8529-9db0-e211-b4f5-78e3b511a6f7 |Level: Error |ReqId: e18d4150-6f84-4950-9716-8f25d0674d62 | CrmException..ctor  ilOffset = 0x7
    	at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException)  ilOffset = 0x7
    	at CrmException..ctor(String message, Int32 errorCode)  ilOffset = 0x5
    	at BusinessProcessObject.DbCreate(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0x28
    	at BusinessProcessObject.DoCreate(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0x1C1
    	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x25
    	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0xCF
    	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x4F
    	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x57
    	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x200
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExtensiblePlatformMessageDispatcher.Execute(PipelineExecutionContext pluginContext)  ilOffset = 0x0
    	at ExtensiblePlatformMessageDispatcher.CreateWithInvocationSource(BusinessEntity entity, Int32 invocationSource, ExecutionContext context)  ilOffset = 0xB4
    	at BusinessProcessObject.Create(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0x54
    	at GenericActivityServiceBase.Create(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0xA1
    	at CommunicationActivityServiceBase.Create(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0x1A
    	at EmailService.SetRecipientsAddAdditionalAttributeAndCreate(AddressEntry[][] allResolvedAddressEntries, Email email, Entity emailDeltaEntity, String traceSubject, ExecutionContext context)  ilOffset = 0x1DA
    	at EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)  ilOffset = 0x524
    	at EmailService.DeliverPromote(Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, Entity extraProperties, BusinessEntityCollection attachments, ExecutionContext context)  ilOffset = 0x1C1
    	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x25
    	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0xCF
    	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x4F
    	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x57
    	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x200
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x16E
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x1F1
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x2D
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0xD
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x241
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x100
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x62
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.SynchronizationContextStartCallback(Object state)  ilOffset = 0x0
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x70
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x4
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x0
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA2
    >Crm Exception: Message: Cannot insert duplicate key., ErrorCode: -2147220937
    [2015-05-11 07:06:01.983] Process: w3wp |Organization:d190d7b5-e9c4-4aee-913c-47ef07ddf552 |Thread:   47 |Category: Platform.Sdk |User: ba7b8529-9db0-e211-b4f5-78e3b511a6f7 |Level: Error |ReqId: e18d4150-6f84-4950-9716-8f25d0674d62 | VersionedPluginProxyStepBase.Execute  ilOffset = 0x65
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExtensiblePlatformMessageDispatcher.Execute(PipelineExecutionContext pluginContext)  ilOffset = 0x0
    	at ExtensiblePlatformMessageDispatcher.CreateWithInvocationSource(BusinessEntity entity, Int32 invocationSource, ExecutionContext context)  ilOffset = 0xB4
    	at BusinessProcessObject.Create(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0x54
    	at GenericActivityServiceBase.Create(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0xA1
    	at CommunicationActivityServiceBase.Create(IBusinessEntity entity, ExecutionContext context)  ilOffset = 0x1A
    	at EmailService.SetRecipientsAddAdditionalAttributeAndCreate(AddressEntry[][] allResolvedAddressEntries, Email email, Entity emailDeltaEntity, String traceSubject, ExecutionContext context)  ilOffset = 0x1DA
    	at EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)  ilOffset = 0x524
    	at EmailService.DeliverPromote(Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, Entity extraProperties, BusinessEntityCollection attachments, ExecutionContext context)  ilOffset = 0x1C1
    	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x25
    	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0xCF
    	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x4F
    	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x57
    	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x200
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x16E
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x1F1
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x2D
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0xD
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x241
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x100
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x62
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.SynchronizationContextStartCallback(Object state)  ilOffset = 0x0
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x70
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x4
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x0
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA2
    >Web Service Plug-in failed in SdkMessageProcessingStepId: {8C3B8615-ECD8-DB11-B397-0019B9204DA9}; EntityName: email; Stage: 30; MessageName: Create; AssemblyName: Microsoft.Crm.Extensibility.InternalOperationPlugin, Microsoft.Crm.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; ClassName: Microsoft.Crm.Extensibility.InternalOperationPlugin; Exception: Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
       at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
       at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IServiceProvider serviceProvider)
       at Microsoft.Crm.Extensibility.V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)
       at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)
    Inner Exception: Microsoft.Crm.BusinessEntities.CrmDuplicateRecordException: Cannot insert duplicate key.
       at Microsoft.Crm.BusinessEntities.BusinessProcessObject.DbCreate(IBusinessEntity entity, ExecutionContext context)
       at Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoCreate(IBusinessEntity entity, ExecutionContext context)

    Monday, May 11, 2015 11:46 PM

All replies

  • What version of CRM 2013 are you working on and what is the version of the email router?

    Please check that the versions match.

    Tuesday, January 12, 2016 9:33 AM
  • Hi, thanks for your reply.

    Our CRM 2013 version is 6.1.0002.0112

    Our CRM 2013 Email Router is 6.1.0001.0132

    Does this matter or do we need to install something else to our CRM Email Router?

    Thanks,

    -tri

    Tuesday, January 12, 2016 10:01 PM