MscrmTools / MscrmTools.Iconator

Manage custom entities icons in a single screen
GNU General Public License v3.0
2 stars 1 forks source link

Unable to load entities #4

Closed AntoineGauthier closed 6 years ago

AntoineGauthier commented 6 years ago

Hi,

I'm having an issue when I try to load entities and images:

image

It does happen whether I choose to load all or from a specific solution.

MscrmTools commented 6 years ago

Never seen this error message anywhere in Dynamics CRM...

Any change you send me credentials to test it live?

AntoineGauthier commented 6 years ago

That won't be an option as it is a on premise deployment behind VPN. If you need more information, the CRM version is 2015 (7.0.1.129)

The iconator version seems to be 1.2017.5.5 and the XrmToolBox version is 1.2017.7.18

Just in case you wanted to visualize what's going on: gif

Thanks

AntoineGauthier commented 6 years ago

I investigated a bit further. So far here are my findings. I tried on 3 different organizations, and 4 different environments, behind a vpn or on an open connection, on port 80 or 443 (environment dependent) but each time the issue remains.

I tried debugging the issue as much as I could and it seems to me that the issue occurs while sending the request to retrieve some data as there is an exception thrown by the of type System.Net.WebException in the System.dll stating "The remote server returned an error (500) internal server error" that same exception is then bouncing around in that dll between throws and calls until a new one is thrown by the same dll this time of type System.ServiceModel.FaultException stating "Unable to evaluate the query"

Here is the even trace showing that.

image

After that I enabled traces on one of the environments and I managed to find the underlying inner exception that I believe is the root cause of all that:

Unable to evaluate query, ErrorCode: -2147204733, InnerException: Microsoft.Crm.CrmException: The type EntityMetadata does not have a property named EntityColor

Here is a more complete trace in case you need it.

at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException) ilOffset = 0x7 at CrmException..ctor(String message, Exception innerException, Int32 errorCode) ilOffset = 0x5 at MetadataServiceProvider.RetrieveMetadataChanges(EntityQueryExpression queryExpression, Nullable 1 filters, String clientVersionStamp, ExecutionContext context, String& serverVersionStamp, DeletedMetadataCollection& deletedMetadata) ilOffset = 0x171 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 PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action) ilOffset = 0x2D at Pipeline.Execute(PipelineExecutionContext context) ilOffset = 0xD8 at <>cDisplayClass1.b0() ilOffset = 0x0 at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action) ilOffset = 0x2D at MessageProcessor.RunStage(PipelineExecutionContext context, Int32 pipelineStage) ilOffset = 0x39 at MessageProcessor.Execute(PipelineExecutionContext context) ilOffset = 0x171 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 = 0x1EE 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 = 0xA3 Crm Exception: Message: Unable to evaluate query, ErrorCode: -2147204733, InnerException: Microsoft.Crm.CrmException: The type EntityMetadata does not have a property named EntityColor à Microsoft.Crm.MetadataService.Sdk.TypeMaps.CultureNeutralPropertyMap 2.GetPropertyMapping(String destinationPropertyName) à System.Linq.Enumerable.WhereSelectArrayIterator 2.MoveNext() à Microsoft.Crm.MetadataService.Sdk.TypeMaps.StaticTypesMap 2.InternalMap(TSource source, TDestination destination, MetadataConversionContext context, IEnumerable 1 properties) à Microsoft.Crm.MetadataService.Sdk.TypeMaps.StaticTypesMap 2.Convert(TSource source, MetadataConversionContext context) à Microsoft.Crm.Sdk.Metadata.EntityConverter.ToXrmEntityMetadata(EntityMetadata crmEntityMetadata, MetadataConversionContext conversionContext) à System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext() à Microsoft.Crm.Sdk.Metadata.MetadataServiceProvider.RetrieveMetadataChanges(EntityQueryExpression queryExpression, Nullable 1 filters, String clientVersionStamp, ExecutionContext context, String& serverVersionStamp, DeletedMetadataCollection& deletedMetadata)

I hope that helps, as I said previously my CRM are 2015 (7.0.1.129)

MscrmTools commented 6 years ago

I see. I need to check the version to avoid working with entity color as it does not exist in CRM 2015

AntoineGauthier commented 6 years ago

That'd be great! Thanks a lot

MscrmTools commented 6 years ago

Can you test this version? MsCrmTools.Iconator.zip

AntoineGauthier commented 6 years ago

Same issue on that version (1.2018.1.8 ?)

MscrmTools commented 6 years ago

Sorry, I made a mistake, can you try this one? MsCrmTools.Iconator.zip

AntoineGauthier commented 6 years ago

That one seem to work. At least I can now load the icons without issues. I tried changing an icon and it works too. The only issue (which is not blocking) is with the icon background within the plugin: If I set it to black it is black in the first tab (16x16 images) and the last tab (Other images) but white on the other one (32x32 images). If I set it to white the issue is the same, the 32x32 images tab goes black while the others are white.

You may want me to open another issue?

MscrmTools commented 6 years ago

If this is really problematic for you, you can open a new issue

AntoineGauthier commented 6 years ago

I can totally live with that I'll let someone else take care of that as I fell like I've bothered you enough for now.

Thanks again!