Asked by:
CRM2011 serviceappointment/appointment "Only the owner of this record can revoke privileges" rollup 16 bug

Question
-
Hi,
We get an error message after installation of Rollup 16 even on a fresh blank CRM2011 organisation.
The error affects the serviceappointment and appointment entity.
The error show a CRM error popup message saying : "Only the owner of this record can revoke privileges"
Reproduction of the problem :
when you try to create a serviceappointment or an appointment and setting the owner field to someone different from the user who is creating the record.
The error occurs also when you try to edit any field of the record in the case the owner field is different from the user who is editing the record.
Despite the error message, the record is created or edited properly.
Here is the trace information I collected about the error (on the serviceappointment entity) :
>Crm Exception: Message: Only owner can revoke access to the owner. CallerId: 7949079a-2a42-df11-9f48-00155dff0d05, OwnerId: e582324c-5dc1-dd11-89bb-00145e5a1f07, ErrorCode: -2147220957
[2014-02-05 10:32:59.100] Process: w3wp |Organization:482087a3-701f-dd11-99b3-00145e5a1f07 |Thread: 21 |Category: Platform |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Verbose |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | CrmPerformanceCounterExecutionTimeContext.Dispose ilOffset = 0x13E
>Unshare Cascade Total execution time: 29 milliseconds
[2014-02-05 10:32:59.100] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 21 |Category: Platform |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Info |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | ExceptionConverter.IsSandboxException ilOffset = 0x3F
>IsSandboxException: TargetInvocationException
[2014-02-05 10:32:59.101] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 21 |Category: Platform |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Info |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | ExceptionConverter.IsSandboxException ilOffset = 0x8B
>IsSandboxException: false
[2014-02-05 10:32:59.101] Process: w3wp |Organization:482087a3-701f-dd11-99b3-00145e5a1f07 |Thread: 21 |Category: Platform.Sdk |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Error |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | VersionedPluginProxyStepBase.Execute ilOffset = 0x65
>Web Service Plug-in failed in SdkMessageProcessingStepId: {CBC9BB1B-EA3E-DB11-86A7-000A3A5473E8}; EntityName: serviceappointment; Stage: 30; MessageName: Assign; AssemblyName: Microsoft.Crm.Extensibility.InternalOperationPlugin, Microsoft.Crm.ObjectModel, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; ClassName: Microsoft.Crm.Extensibility.InternalOperationPlugin; Exception: Unhandled Exception: System.Reflection.TargetInvocationException: Une exception a été levée par la cible d'un appel.
à System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
à System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
à Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IServiceProvider serviceProvider)
à Microsoft.Crm.Extensibility.V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)
à Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)
Inner Exception: Microsoft.Crm.CrmSecurityException: Only owner can revoke access to the owner. CallerId: 7949079a-2a42-df11-9f48-00155dff0d05, OwnerId: e582324c-5dc1-dd11-89bb-00145e5a1f07
à Microsoft.Crm.BusinessEntities.CascadeEngine.RevokeAccessDB(BusinessEntityMoniker moniker, SecurityPrincipal grantee, ExecutionContext context)
à Microsoft.Crm.BusinessEntities.BusinessProcessObject.RevokeAccess(BusinessEntityMoniker moniker, SecurityPrincipal grantee, ExecutionContext context)
à Microsoft.Crm.ObjectModel.CommunicationActivityServiceBase.AppAssign(BusinessEntityMoniker moniker, SecurityPrincipal assignee, ExecutionContext context)
.
[2014-02-05 10:32:59.101] Process: w3wp |Organization:482087a3-701f-dd11-99b3-00145e5a1f07 |Thread: 21 |Category: Exception |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Error |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | CrmException..ctor ilOffset = 0x0
at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException) ilOffset = 0x0
at CrmException..ctor(String message, Exception innerException, Int32 errorCode) ilOffset = 0x0
at RuntimeMethodHandle._InvokeConstructor(IRuntimeMethodInfo method, Object[] args, SignatureStruct& signature, RuntimeType declaringType) ilOffset = 0xFFFFFFFF
at RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0xD8
at RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) ilOffset = 0x1E7
at VersionedPluginProxyStepBase.WrapExceptionToThrow(CrmException exception) ilOffset = 0x89
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 = 0x156
at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, Boolean traceRequest, OrganizationContext context, Boolean returnResponse) ilOffset = 0x145
at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType) ilOffset = 0x34
at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType) ilOffset = 0x24
at InprocessServiceProxy.ExecuteCore(OrganizationRequest request) ilOffset = 0x34
at PlatformCommand.XrmExecuteInternal() ilOffset = 0xF6
at AssignCommand.Execute() ilOffset = 0x0
at DataSource.Assign(Guid entityId, String entityType, SecurityPrincipal principal, IOrganizationContext context) ilOffset = 0x9
at AssignRouteOnCreateUpdateListener.AssignEntity(Entity entity, LookupValue owner) ilOffset = 0x55
at AssignRouteOnCreateUpdateListener.HandlePostEvent(PlatformCommand command) ilOffset = 0x3F
at CommunicationListener.HandlePostEvent(PlatformCommand command) ilOffset = 0x2C
at PlatformCommand.XrmExecuteInternal() ilOffset = 0x177
at RescheduleCommand.Execute() ilOffset = 0x0
at ActivitiesWebService.Reschedule(Guid id, XmlNode content, Int32 typeCode) ilOffset = 0x40
at RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner) ilOffset = 0xFFFFFFFF
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) ilOffset = 0x101
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0x0
at LogicalMethodInfo.Invoke(Object target, Object[] values) ilOffset = 0x4F
at WebServiceHandler.Invoke() ilOffset = 0xC3
at WebServiceHandler.CoreProcessRequest() ilOffset = 0x13E
at SyncSessionlessHandler.ProcessRequest(HttpContext context) ilOffset = 0x39
at HandlerWrapper.ProcessRequest(HttpContext context) ilOffset = 0x0
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() ilOffset = 0x11D
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ilOffset = 0x15
at ApplicationStepManager.ResumeSteps(Exception error) ilOffset = 0x10E
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) ilOffset = 0x5C
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0xFC
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x45
>Crm Exception: Message: Only owner can revoke access to the owner. CallerId: 7949079a-2a42-df11-9f48-00155dff0d05, OwnerId: e582324c-5dc1-dd11-89bb-00145e5a1f07, ErrorCode: -2147220957, InnerException: Microsoft.Crm.CrmSecurityException: Only owner can revoke access to the owner. CallerId: 7949079a-2a42-df11-9f48-00155dff0d05, OwnerId: e582324c-5dc1-dd11-89bb-00145e5a1f07
à Microsoft.Crm.BusinessEntities.CascadeEngine.RevokeAccessDB(BusinessEntityMoniker moniker, SecurityPrincipal grantee, ExecutionContext context)
à Microsoft.Crm.BusinessEntities.BusinessProcessObject.RevokeAccess(BusinessEntityMoniker moniker, SecurityPrincipal grantee, ExecutionContext context)
à Microsoft.Crm.ObjectModel.CommunicationActivityServiceBase.AppAssign(BusinessEntityMoniker moniker, SecurityPrincipal assignee, ExecutionContext context)
[2014-02-05 10:32:59.102] Process: w3wp |Organization:482087a3-701f-dd11-99b3-00145e5a1f07 |Thread: 21 |Category: Platform |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Error |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | MessageProcessor.Execute ilOffset = 0x1C5
>MessageProcessor fail to process message 'Assign' for 'serviceappointment'.
[2014-02-05 10:32:59.104] Process: w3wp |Organization:482087a3-701f-dd11-99b3-00145e5a1f07 |Thread: 21 |Category: Platform |User: e30d09b1-701f-dd11-99b3-00145e5a1f07 |Level: Verbose |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | ExecutionContext.OnErrorRequest ilOffset = 0x51
>ExecutionContext not in use (OnErrorRequest) for organization {482087A3-701F-DD11-99B3-00145E5A1F07}
[2014-02-05 10:32:59.104] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 21 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Info |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | FaultHelper.ConvertToFault ilOffset = 0x0
>TryConvertToFaultExceptionInternal: exception: Microsoft.Crm.CrmSecurityException
[2014-02-05 10:32:59.114] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 21 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Info |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | ExceptionConverter.DumpExceptionRecursive ilOffset = 0x27C
>NestingDepth: 24
[2014-02-05 10:32:59.115] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 21 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Info |ReqId: ce5e820e-4fbc-421e-afa1-89ed75d8c5be | ExceptionConverter.DumpExceptionToTrace ilOffset = 0x11
>----- dump exception/fault tree (TryConvertToFaultExceptionInternal: before) -----
>>>>>> EXCEPTION: 0
>Type: Microsoft.Crm.CrmSecurityException
>ErrorCode: 0x80040223:
>Message (136): Only owner can revoke access to the owner. CallerId: 7949079a-2a42-df11-9f48-00155dff0d05, OwnerId: e582324c-5dc1-dd11-89bb-00145e5a1f07
>StackTrace: present: 4BB26026
>no PluginTrace
>>>>>> EXCEPTION: 1
>Type: Microsoft.Crm.CrmSecurityException
>ErrorCode: 0x80040223:
>Message (136): Only owner can revoke access to the owner. CallerId: 7949079a-2a42-df11-9f48-00155dff0d05, OwnerId: e582324c-5dc1-dd11-89bb-00145e5a1f07
>StackTrace: present: 043EC9BC
>PluginTrace <null>
>InnerException <null>
><<<<< EXCEPTION: 1Thank you in advance.
Best Regards
Michael
Monday, February 17, 2014 9:25 AM
All replies
-
We are having the same issue.
If you continue, you get an error message: General Scheduling Failure. Where you can continue (Ignore and Save). It then creates the serviceappointment twice.
We are update rollup 16.
Monday, February 17, 2014 1:41 PM -
Hello,
Did someone find a fix or a workaround for this bug ?, it's critical for our organisation.
Thank you a lot.
Best Regards
Michael
Tuesday, February 18, 2014 1:31 PM -
DeletedTuesday, March 25, 2014 4:46 PM
-
hi everyone,
The bug has been submitted to the Microsoft Support Team and they reproduced it as well.
As they told me, they will fix this issue in the next Rollup (rollup 17) wich is planned to be released soon.So we have to wait and see..
Michael.
Tuesday, April 29, 2014 3:01 PM