locked
CRM2011 serviceappointment/appointment "Only the owner of this record can revoke privileges" rollup 16 bug RRS feed

  • 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: 1

    Thank 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
  • Any news?
    Tuesday, 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